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

【2017 Multi-University Training Contest - Team 2】 Regular polygon的更多相关文章

  1. 【2017 Multi-University Training Contest - Team 2】TrickGCD

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6053 [Description] 给你一个b数组,让你求一个a数组: 要求,该数组的每一位都小于等 ...

  2. 【2017 Multi-University Training Contest - Team 2】Maximum Sequence

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6047 [Description] 给你一个数列a和一个数列b; 只告诉你a的前n项各是什么; 然后 ...

  3. 【2017 Multi-University Training Contest - Team 2】 Is Derek lying?

    [Link]: [Description] 两个人都做了完全一样的n道选择题,每道题都只有'A','B','C' 三个选项,,每道题答对的话得1分,答错不得分也不扣分,告诉你两个人全部n道题各自选的是 ...

  4. 【2017 Multi-University Training Contest - Team 5】Rikka with Competition

    [Link]: [Description] [Solution] 把所有人的能力从大到小排; 能力最大的肯定可能拿冠军; 然后一个一个地往后扫描; 一旦出现a[i-1]-a[i]>k; 则说明从 ...

  5. 【2017 Multi-University Training Contest - Team 5】Rikka with Subset

    [Link]: [Description] 给你a数组的n个数的所有2^n个子集的2^n个子集元素的和; 子集元素的和最大为m; 告诉你各个子集元素的和出现的次数; 如 1 2 则0出现1次,1出现1 ...

  6. 【2017 Multi-University Training Contest - Team 5】Rikka with Graph

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6090 [Description] 给你n个点; 让你在这n个点上最多连m条无向边; 使得 ∑ni= ...

  7. 【2017 Multi-University Training Contest - Team 4】Time To Get Up

    [Link]: [Description] [Solution] 把每个数字长什么样存到数组里就好;傻逼题. (直接输入每一行是什么样子更快,不要一个字符一个字符地输入) [NumberOf WA] ...

  8. 【2017 Multi-University Training Contest - Team 4】Counting Divisors

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6069 [Description] 定义d(i)为数字i的因子个数; 求∑rld(ik) 其中l,r ...

  9. 【2017 Multi-University Training Contest - Team 3】RXD and math

    [Link]: [Description] [Solution] 发现1010mod(109+7)=999999937; 猜测答案是nk 写个快速幂; 注意对底数先取模; [NumberOf WA] ...

随机推荐

  1. bzoj1270 BeijingWc2008 雷涛的小猫 DP

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1270 比较水的一道dp f1[i]为高度为i的时候的最大值 f2[i]为当前高度在第i棵树 ...

  2. 【Fiddler】使用fiddler抓取指定浏览器的包

    参考资料:http://blog.csdn.net/sufubo/article/details/49331705 使用fiddler抓取不到浏览器的包时常用的解决办法: 1.必须先打开Fiddler ...

  3. 一:1.1 python程序与数据储存【进制转换】

    二进制 :0 1 [逢二进一]0+0=00+1=11+1=1011+1=100 1 1+ 1------ 100 八进制: 0 1 2 3 4 5 6 7 [逢八进一] 1+7=101+2=3 十进制 ...

  4. 如何创建一个可以使用try.....catch.......捕获的异常

    代码很简单,大家一看基本上就能明白(有一定的java基础,熟悉try......catch.....finally的使用方法) package com.nokia.test1; public clas ...

  5. 中断API之enable_irq

    void enable_irq(unsigned int irq) 用于使能一个irq. void disable_irq(unsigned int irq)则用于禁止一个irq 其使用的例程如下: ...

  6. PatentTips - Compare and exchange operation using sleep-wakeup mechanism

    BACKGROUND Typically, a multithreaded processor or a multi-processor system is capable of processing ...

  7. struts2登录后返回登录前的页面

    在Action中添加 String getUrl() { return ServletActionContext.getRequest().getHeader("referer") ...

  8. django-xadmin定制之分页显示数量

    环境:xadmin-for-python3 python3.5.2 django1.9.12 主要思路:利用django-xadmin的插件原理和原有分页插件的逻辑,单独定义一个分页显示数插件,效果如 ...

  9. Draw the RGB data from kinect C++ via opengl

    In order to improve my English writing skills,I am going to  write the blogs in English form now! -- ...

  10. express随笔

    Express 是node 第三方框架,框架的意义就在于能大大简化程序地开发.看一下Express是怎么简化node程序开发的. 1,用Express写一个hello world 程序,我们来体验一下 ...