【Link】:

【Description】



给你n个点整数点;

问你这n个点,能够组成多少个正多边形

【Solution】



整点只能构成正四边形.

则先把所有的边预处理出来;

枚举每某两条边为对角线的情况;

看看这两条对角线能否组成一个正方形;

可以的话,递增答案.



【NumberOf WA】



1



【Reviw】



(排序的时候边的数目和点的弄混了)



【Code】

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 500; struct abc{
int x[2],y[2],dis;
}; abc bian[N*N+100];
int x[N+10],y[N+10];
int n,tot; int sqr(int x){
return x*x;
} int get_dis(int i,int j){
return sqr(x[i]-x[j])+sqr(y[i]-y[j]);
} bool cmp(abc a,abc b){
return a.dis < b.dis;
} main(){
while (~scanf("%lld",&n)){
int ans = 0;
tot = 0;
for (int i = 1;i <= n;i++)
scanf("%lld%lld",&x[i],&y[i]);
for (int i = 1;i <= n-1;i++)
for (int j = i+1;j <= n;j++){
tot++;
bian[tot].x[0] = x[i],bian[tot].y[0] = y[i];
bian[tot].x[1] = x[j],bian[tot].y[1] = y[j];
bian[tot].dis = get_dis(i,j);
}
sort(bian+1,bian+1+tot,cmp);
for (int i = 1;i <= tot;i++){
int j = i;
while (j+1 <= tot && bian[j+1].dis == bian[i].dis) j++;
for (int k = i;k <= j-1;k++)
for (int l = k+1;l <= j;l++){
int x1 = bian[k].x[0],y1 = bian[k].y[0];
int x2 = bian[k].x[1],y2 = bian[k].y[1];
int x3 = bian[l].x[0],y3 = bian[l].y[0];
int x4 = bian[l].x[1],y4 = bian[l].y[1];
if ( (x1+x2==x3+x4) && (y1+y2 == y3+y4) ){
if ( (x2-x1)*(x4-x3) + (y2-y1)*(y4-y3) == 0){
ans++;
}
}
}
i = j;
}
printf("%lld\n",ans);
}
return 0;
}

最新文章

  1. C - NP-Hard Problem(二分图判定-染色法)
  2. linux ubuntu14 更改为root用户登录
  3. CCPC2016合肥现场赛
  4. Windows Desktop 调用 WinRT api
  5. SQLSERVER 里SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好?
  6. FFmpeg 官方 20160227 之后 追加 libmfx 无法在 xp 上运行的解决方法
  7. radio选中
  8. margin负值在页面布局中的应用
  9. 中国餐馆过程(CRP)
  10. NEERC 2010, Eastern subregional contest
  11. FileFilter, FilenameFilter用法和文件排序
  12. 【翻译】Microsoft Ajax Minifier 快速使用指南(与VS集成使用) 编译后直接压缩项目的JS或CSS文件
  13. 终于懂了:Delphi消息的Result完全是生造出来的,不是Windows消息自带的(Delphi对Windows编程体系的改造越大,学习收获就越大)——消息是否继续传递就看这个Result
  14. div光标定位问题总结
  15. 【Jquery】prop与attr的差别
  16. 3.if结构
  17. NodeJS 模块&amp;函数
  18. 20145325张梓靖 《Java程序设计》第8周学习总结
  19. java多线程以及Android多线程
  20. npm是什么NPM的全称是Node Package Manager

热门文章

  1. 高并发MYSQL如何优化处理?
  2. screen---管理会话
  3. caioj 1069 动态规划入门(二维一边推2:顺序对齐)(最长公共子序列拓展总结)
  4. Unity Shader (五)Surface Shader示例
  5. linux 下查看二进制文件
  6. Liquibase简介(1)
  7. 负载均衡-lvs
  8. Yeslab 华为安全HCIE-第五门-防火墙攻击防范技术
  9. Django_高级扩展
  10. 今日SGU 5.18