【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. Unity Shader (二)Cg语言

    一.Cg基本数据类型 float 32位浮点数 half 16位浮点数 int 32位整型 fixed 12位定点数 bool 布尔数据 simpler* 纹理对象的句柄( the handle to ...

  2. 03016_DBCP连接池

    1.连接池概述 (1)用池来管理Connection,这样可以重复使用Connection: (2)有了池,所以我们就不用自己来创建Connection,而是通过池来获取Connection对象: ( ...

  3. 【ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined) A】 Palindromic Supersequence

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 字符串倒着加到原串右边就好 [代码] #include <bits/stdc++.h> using namespace ...

  4. springMVC的rest风格的url请求

    rest是一个架构风格,用url来访问网络上的任何资源.rest的一种思想就是用http中的动作get,post,put,delete,来进行增删改查. 这里介绍的是springMVC的rest请求. ...

  5. 移动App架构设计

    移动App架构设计 本文主要总结了几种经常使用的架构模式, 基本是层层递进的转载请注名出处 http://blog.csdn.net/uxyheaven, 良好的排版在https://github.c ...

  6. [Poi] Setup PostCSS and Tailwind with Poi

    This lesson walks through setting up a Poi project using PostCSS and the popular Tailwind library fo ...

  7. openVswitch(OVS)源码分析之工作流程(哈希桶结构体的解释)

    这篇blog是专门解决前篇openVswitch(OVS)源码分析之工作流程(哈希桶结构体的疑惑)中提到的哈希桶结构flex_array结构体成员变量含义的问题. 引用下前篇blog中分析讨论得到的f ...

  8. json的键为变量而不是字符串时,怎么写?

    看栗子 /* 首先你创建了一个window的属性叫b, 并给它赋值为'cccddd' * 然后你创建了一个对象"a", 声明了一个它的属性叫b, 并且给b赋值为6 * 注意第一行的 ...

  9. windows常用命令有哪些(整理)

    windows常用命令有哪些(整理) 一.总结 一句话总结:其实这个好学,只要先弄懂主干,清除主干,那么枝叶的添加逻辑就很清除了 这种多内容的,散乱的,弄清除主干效率就高了 1.windows命令行的 ...

  10. TFRecord —— tensorflow 下的统一数据存储格式

    tensorflow 提供了统一的数据存储格式,即 TFRecord(record 表示记录),以提高程序的可扩展性,当数据来源十分复杂时,仍能有效记录输入数据中的信息. 1. tfrecord 使用 ...