hdu2428 Stars
来源:互联网 发布:nginx centos yum 编辑:程序博客网 时间:2024/06/17 02:07
Stars
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 1764 Accepted Submission(s): 612
Problem Description
Lucy loves stars very much. There are N (1 <= N <= 1000) stars in the sky. Assume the sky is a flat plane. All of the stars lie on it with a location (x, y), -10000 <= x, y <= 10000. Now, Lucy wants you to tell her how many squares with each of four vertices formed by these stars, and the edges of the squares should parallel to the coordinate axes.
Input
The first line of input is the number of test case.
The first line of each test case contains an integer N. The following N lines each contains two integers x, y, meaning the coordinates of the stars. All the coordinates are different.
The first line of each test case contains an integer N. The following N lines each contains two integers x, y, meaning the coordinates of the stars. All the coordinates are different.
Output
For each test case, output the number of squares in a single line.
Sample Input
211 240 01 01 10 1
Sample Output
01
全哈希。
#include<cstdio>#include<cstring>#include<string.h>using namespace std;const int maxn=1005;const int hashsize=2006;struct Point{int x;int y;Point(int a=0,int b=0){x=a;y=b;}}stars[maxn];int head[hashsize];int pre[maxn];int hash(Point p){int c=hashsize;return ((p.x*20005+p.y)%c+c)%c;}int find(int x,int y){int f=hash(Point(x,y));for(int i=head[f];i>=0;i=pre[i]){if(stars[i].x==x&&stars[i].y==y)return 1;}return 0;}int main(){int casen;scanf("%d",&casen);while(casen--){int n;scanf("%d",&n);memset(head,-1,sizeof(head));for(int i=0;i<n;i++){scanf("%d%d",&stars[i].x,&stars[i].y);int f=hash(stars[i]);pre[i]=head[f];head[f]=i;}int sum=0;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(stars[i].x>=stars[j].x)continue;if(stars[i].x-stars[j].x!=stars[i].y-stars[j].y)continue;if(!find(stars[i].x,stars[j].y))continue;if(!find(stars[j].x,stars[i].y))continue;sum++;}}printf("%d\n",sum);}return 0;}
阅读全文
0 0
- hdu2428 Stars
- hdu2428(单调性+二分)
- stars
- Stars
- Stars
- Stars
- Stars
- Stars
- Stars
- Stars
- stars
- Stars
- Stars
- stars
- Stars
- Stars
- Stars
- 7stars
- 备用
- 关于Android 7.0相机遇到的一些问题
- 过滤非嵌套的html tag, 最近要用,先来写个函数!
- Mac上配置gradle环境
- redis
- hdu2428 Stars
- Js获取当前日期时间及其它操作
- Android_LaunchMode
- Date类的使用
- NUC1011 Financial Management【数学计算】
- emgu.cv的图像金字塔操作
- JAVA变量
- 人脑杂念与电脑进程
- 用c++实现一个二叉排序树