xdoj1275(2017新生赛现场赛D题)
2018-02-26 22:35
106 查看
1275: Square Problem
时间限制: 1 Sec 内存限制: 128 MB提交: 15 解决: 8
[提交][状态][讨论版]
题目描述
williamchen喜欢数正方形,他现在看到了一个二维平面,上面有若干个点。他想知道如果以其中四个点作为正方形的四个顶点,可以形成多少个不同的正方形。
输入
第一行为一个数T,代表数据组数,($T \leq 10$)。接下来每组数据包括,第一行一个数n,代表二维平面上的点的个数,($n \leq 1000$)。
接下来n行,每行两个整数,代表点的坐标x,y, ($0 \leq x,y \leq 100$)。
题目保证不会给出重复的点。
输出
对于每组数据,输出一行包括一个整数,代表能形成的正方形的个数。样例输入
1 6 0 0 0 1 1 0 1 1 2 0 2 1
样例输出
2题目链接:http://acm.xidian.edu.cn/problem.php
ce84
?id=1275思路:枚举时需按照对角线枚举,看正方形另外两个顶点是否存在。O(N^2)复杂度,还需注意最后结果多算了一遍,应除以2
上代码
#include<cstdio> #include<cmath> #include<cstdlib> using namespace std; typedef struct { int x; int y; } square; square sq[1010]; int n; bool find1(int a,int b) { for(int i=0;i<n;i++) { if(sq[i].x==a&&sq[i].y==b) return true; } return false; } int main() { int t,x,y,i,j,k,cnt; scanf("%d",&t); while(t--) { cnt=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d%d",&sq[i].x,&sq[i].y); } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(abs(sq[i].x-sq[j].x)==abs(sq[i].y-sq[j].y)&&find1(sq[i].x,sq[j].y)&&find1(sq[j].x,sq[i].y)) cnt++; } } printf("%d\n",cnt/2); } return 0; }
相关文章推荐
- xdoj1272(2017新生赛现场赛B题)
- xdoj1276(2017新生赛现场赛C题)
- xdoj1256(2017新生赛现场赛E题)
- xdoj1269(2017新生赛现场赛G题)
- LOJ6253:「CodePlus 2017 11 月赛」Yazid 的新生舞会 (线段树)
- 2017 Wuhan University Programming Contest 现场赛G. Room
- 2017 Wuhan University Programming Contest 现场赛 K.Wifi Relay(最短路变形)
- 「CodePlus 2017 11 月赛」Yazid 的新生舞会
- fzuacm 2017 新生寒假训练 7
- 2017 Wuhan University Programming Contest 现场赛G. Room
- 2017 Wuhan University Programming Contest 现场赛 K.Wifi Relay(最短路变形)
- 2017 Wuhan University Programming Contest 现场赛 I. A simple math problem(矩阵快速幂)
- 【资料合集】2017云栖大会·上海峰会回顾合集:PDF下载+现场视频
- CCPC 2017 哈尔滨赛区现场赛 比赛总结
- 2017 Wuhan University Programming Contest 现场赛G. Room
- 2017 Wuhan University Programming Contest 现场赛 K.Wifi Relay(最短路变形)
- 2017 Wuhan University Programming Contest 现场赛 I. A simple math problem(矩阵快速幂)
- 【BZOJ 4819】【SDOI 2017】新生舞会
- 2017 Wuhan University Programming Contest 现场赛 K.Wifi Relay(最短路变形)
- 2017 Wuhan University Programming Contest 现场赛 I. A simple math problem(矩阵快速幂)