2017 Multi-University Training Contest - Team 2 &hdu 6055 Regular polygon
Regular polygon
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2004 Accepted Submission(s): 795
a two-dimensional plane, give you n integer points. Your task is to
figure out how many different regular polygon these points can make.
input file consists of several test cases. Each case the first line is a
numbers N (N <= 500). The next N lines ,each line contain two number
Xi and Yi(-100 <= xi,yi <= 100), means the points’ position.(the
data assures no two points share the same position.)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<string.h>
#include<set>
#include<vector>
#include<queue>
#include<stack>
#include<map>
#include<cmath>
typedef long long ll;
typedef unsigned long long LL;
using namespace std;
const double PI=acos(-1.0);
const double eps=0.0000000001;
const int N=+;
struct node{
int x,y;
}a[N];
int vis[N][N];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++){
scanf("%d%d",&a[i].x,&a[i].y);
vis[a[i].x+][a[i].y+]=i;
}
ll ans=;
int x,y;
int xx,yy;
int len;
for(int i=;i<=n;i++){
for(int j=i+;j<=n;j++){
if(i==j)continue;
x=(a[j].y-a[i].y)+a[i].x;
y=(a[j].x-a[i].x)*(-)+a[i].y;
xx=-(a[i].y-a[j].y)+a[j].x;
yy=(a[i].x-a[j].x)+a[j].y;
int t1=vis[x+][y+];
int t2=vis[xx+][yy+];
if(t1&&t2)ans++;
x=-(a[j].y-a[i].y)+a[i].x;
y=(a[j].x-a[i].x)+a[i].y;
xx=(a[i].y-a[j].y)+a[j].x;
yy=-(a[i].x-a[j].x)+a[j].y;
int t3=vis[x+][y+];
int t4=vis[xx+][yy+];
if(t3&&t4)ans++;
}
}
// cout<<ans<<endl;
ans=ans/;
printf("%I64d\n",ans);
}
}
2017 Multi-University Training Contest - Team 2 &hdu 6055 Regular polygon的更多相关文章
- HDU 6055 - Regular polygon | 2017 Multi-University Training Contest 2
/* HDU 6055 - Regular polygon [ 分析,枚举 ] 题意: 给出 x,y 都在 [-100, +100] 范围内的 N 个整点,问组成的正多边形的数目是多少 N <= ...
- 2017 Multi-University Training Contest - Team 2 &&hdu 6050 Funny Function
Funny Function Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 2017 Multi-University Training Contest - Team 2 &&hdu 6053 TrickGCD
TrickGCD Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- 2017 Multi-University Training Contest - Team 2&&hdu 6047 Maximum Sequence
Maximum Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 6055 Regular polygon
Regular polygon Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 【2017 Multi-University Training Contest - Team 7 && hdu 6121】Build a tree
[链接]点击打开链接 [题意] 询问n个点的完全k叉树,所有子树节点个数的异或总和为多少. [题解] 考虑如下的一棵k=3叉树,假设这棵树恰好有n个节点. 因为满的k叉树,第i层的节点个数为k^(i- ...
- 【 2017 Multi-University Training Contest - Team 9 && hdu 6162】Ch’s gift
[链接]h在这里写链接 [题意] 给你一棵树,每个节点上都有一个权值. 然后给你m个询问,每个询问(x,y,a,b); 表示询问x->y这条路径上权值在[a,b]范围内的节点的权值和. [题解] ...
- HDU 6055 Regular polygon —— 2017 Multi-University Training 2
Regular polygon Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 【2017多校训练2+计算几何+板】HDU 6055 Regular polygon
http://acm.hdu.edu.cn/showproblem.php?pid=6055 [题意] 给定n个格点,问有多少个正多边形 [思路] 因为是格点,只可能是正方形 枚举正方形的对角线,因为 ...
随机推荐
- PHP MySQL 连接数据库,进行增、删、改、查、操作
<table width="100%" border="1" cellpadding="0" cellspacing="0& ...
- 移动web——touch事件应用
基本概况 1.touch事件在移动端被用来代替click事件,因为click事件的触发会延迟影响了用户体验 2.touch事件还可以与translate构成吸附效果 3.现行有一种排版方式是左边宽度是 ...
- Js配置资料下载
1.使用windows.loaction.href链接下载: 此种下载在本页打开,eg:windows.location.href = http://www.xxx.xx/aa.apk; 2.使用wi ...
- 3星|《商业周刊中文版:2017商业人物(下)》:酒店才应该是出行住宿的最佳选择,Airbnb不是
商业周刊/中文版:2017商业人物(下) 对一些知名商业人物的访谈的合辑. 总体评价3星,有一些参考价值. 以下是本期一些内容的摘抄: 1:段永平是一位隐秘的亿万富豪,去年,他创立的智能手机姊妹品牌O ...
- Java中的接口详解
接口 是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量.构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8) ...
- iDRAC RAC0218 最大会话限制
用ssh工具登陆IDRAC远程管理ip地址: /admin1-> racadm racreset RAC reset operation initated successfully. It m ...
- vue02 过滤器、计算和侦听属性、vue对象的生命周期、阻止事件冒泡和刷新页面
3. Vue对象提供的属性功能 3.1 过滤器 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 3.1.1 使用Vue.fil ...
- 338. Counting Bits(动态规划)
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ...
- mac上的svn命令
Mac 终端添加代码到SVN从SVN拉取代码步骤:1.cd /Users/指定路径(本地路径)2.svn checkout https://xxx.xxx.xx/svn/project(服务器路径) ...
- Spring MVC学习总结(9)——Spring MVC整合swagger自动生成api接口文档
Swagger 号称:世界最流行的API框架,官网:http://swagger.io/,Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总 ...