2016 Multi-University Training Contest 3 1011 Teacher Bo
来源:互联网 发布:linux端口重定向 编辑:程序博客网 时间:2024/06/05 03:52
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5762
题目:
Problem Description
Teacher BoBo is a geography teacher in the school.One day in his class,he markedN points in the map,the i -th point is at (Xi,Yi) .He wonders,whether there is a tetrad (A,B,C,D)(A<B,C<D,A≠CorB≠D) such that the manhattan distance between A and B is equal to the manhattan distance between C and D.
If there exists such tetrad,print "YES",else print "NO".
If there exists such tetrad,print "YES",else print "NO".
Input
First line, an integer T . There are T test cases.(T≤50)
In each test case,the first line contains two intergers, N, M, means the number of points and the range of the coordinates.(N,M≤105) .
Next N lines, thei -th line shows the coordinate of the i -th point.(Xi,Yi)(0≤Xi,Yi≤M) .
In each test case,the first line contains two intergers, N, M, means the number of points and the range of the coordinates.
Next N lines, the
Output
Sample Input
23 101 12 23 34 108 82 33 34 4
Sample Output
YESNO
考虑一种暴力,每次枚举两两点对之间的曼哈顿距离,并开一个桶记录每种距离是否出现过,如果某次枚举出现了以前出现的距离就输 YESYESYES ,否则就输 NONONO .
注意到曼哈顿距离只有 O(M)O(M)O(M) 种,根据鸽笼原理,上面的算法在 O(M)O(M)O(M) 步之内一定会停止.所以是可以过得.
一组数据的时间复杂度 O(min{N2,M})O(\min{N^2,M})O(min{N2,M}) .
#include <iostream>#include<cstdio>#include<cstring>#include<cmath>#define N 210000using namespace std;int x[N],y[N],mp[N],n,m;int main(){ int T; cin>>T; while(T--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%d%d",&x[i],&y[i]); int cnt=0,flag=1; memset(mp,0,sizeof(mp)); for(int i=0;i<n&&flag;i++) for(int j=0;j<i&&flag;j++) { int t=abs(x[i]-x[j])+abs(y[i]-y[j]); if(mp[t]) { flag=0; break; } else mp[t]=1; } if(flag) cout<<"NO"<<endl; else cout<<"YES"<<endl; }}
0 0
- 2016 Multi-University Training Contest 3 1011 Teacher Bo
- 2016 Multi-University Training Contest 3 1011 Teacher Bo
- 2016 Multi-University Training Contest 3-1011.Teacher Bo,暴力!
- 2016 Multi-University Training Contest 3 1011 Teacher Bo(模拟)
- 2016 Multi-University Training Contest 3 hdu 5762 Teacher Bo【计算几何】
- 2016 Multi-University Training Contest 3 1010 Teacher Bo(数学)
- 2016 Multi-University Training Contest 3 Rower Bo
- 2016 Multi-University Training Contest 3 Sqrt Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo
- 2016 Multi-University Training Contest 3 1002 Permutation Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo
- 2016 Multi-University Training Contest 3 1003 Life Winner Bo
- 2016 Multi-University Training Contest 3 1010 Rower Bo
- 2016 Multi-University Training Contest 3 Rower Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo (模拟)
- [HDU5756] Boss Bo [2016 Multi-University Training Contest 3(2016多校联合训练3) E]
- (HDU 5754)2016 Multi-University Training Contest 3 Life Winner Bo (博弈/DP)
- HDU-2016 Multi-University Training Contest 3-Sqrt Bo-大数开方
- TIANKENG’s restaurant
- foreach语句使用总结
- POJ-2996-Help Me with the Game
- AutoCompleteTextView(自动完成文本框)详解
- linux g++ 链接器(一)基础概念
- 2016 Multi-University Training Contest 3 1011 Teacher Bo
- poj 2996 Help Me with the Game
- Hibernate-validator校验框架
- new运算符 和 operator new
- UVa 156 map小用
- 按位运算符讲解和运用
- View自定义属性步骤与分析
- Application 基础
- 在cmd中编译执行java文件