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;
}