【codeforces 29A】Spit Problem

本文介绍了一个有趣的编程挑战,即判断动物园里的骆驼是否互相吐痰。通过使用暴力解决算法,文章详细展示了如何检查每一对骆驼的位置与吐痰方向,以此来确定是否存在互斥情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A. Spit Problem
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

In a Berland's zoo there is an enclosure with camels. It is known that camels like to spit. Bob watched these interesting animals for the whole day and registered in his notepad where each animal spitted. Now he wants to know if in the zoo there are two camels, which spitted at each other. Help him to solve this task.

The trajectory of a camel's spit is an arc, i.e. if the camel in position x spits d meters right, he can hit only the camel in position x + d, if such a camel exists.
Input

The first line contains integer n (1 ≤ n ≤ 100) — the amount of camels in the zoo. Each of the following n lines contains two integers xi and di ( - 104 ≤ xi ≤ 104, 1 ≤ |di| ≤ 2·104) — records in Bob's notepad. xi is a position of the i-th camel, and di is a distance at which the i-th camel spitted. Positive values of di correspond to the spits right, negative values correspond to the spits left. No two camels may stand in the same position.
Output

If there are two camels, which spitted at each other, output YES. Otherwise, output NO.
Sample test(s)
Input
2
0 1
1 -1

Output
YES

Input
3
0 1
1 1
2 -2

Output
NO

Input
5
2 -10
3 10
0 5
5 -5
10 1

Output
YES


题意:话说,这个骆驼一点都不文明,还吐痰,吐痰就算了,还要我算会不会相互吐到对方身上。有的往左吐,有的往右吐,反正都是在坐标轴上就对了。

思路:暴力解决

code:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <map>
using namespace std;
struct node
{
    int x,d;
}a[105];
int main()
{
    int n;
    int flag=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d%d",&a[i].x,&a[i].d);
    for(int i=0;i<n-1;i++){
        for(int j=i+1;j<n;j++){
            if((a[i].x+a[i].d==a[j].x)&&(a[i].x==a[j].x+a[j].d)){
                flag=1;
                break;
            }
        }
        if(flag)
            break;
    }
    if(flag)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值