(2017多校2)1011/hdu-6055 Regular polygon(计算几何)
来源:互联网 发布:windows 8.1 远程桌面 编辑:程序博客网 时间:2024/05/21 13:59
点我看题
题意:给你n个整数点(这个条件超级重要),rang 求能组成多少个正多边形.
分析:由整数点组成的正多边形只能是正方形,可以画个图看看,发现怎么也找不到除了正四边形以外的其他形状.然后对于每一条边,分别找出它左右两边能与他形成正方形的另外两个点,然后看看这两个点是否存在.最后的答案要除以一个4,因为对于每一个正方形来说,你都通过四个边找了它四次.
参考代码:
#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<iostream>using namespace std;#define mem(a,b) memset(a,b,sizeof(a));const int maxn = 5e2+10;int n;struct Point{ int x; int y;};Point p[maxn];bool vis[maxn][maxn];int ans;void solve( Point a, Point b){ int dx = a.x-b.x; int dy = a.y-b.y; if( a.x+dy >= 0 && a.y-dx >= 0 && b.x+dy >= 0 && b.y-dx >= 0 && vis[a.x+dy][a.y-dx] && vis[b.x+dy][b.y-dx]) ans++; if( a.x-dy >= 0 && a.y+dx >= 0 && b.x-dy >= 0 && b.y+dx >= 0 && vis[a.x-dy][a.y+dx] && vis[b.x-dy][b.y+dx]) ans++;}int main(){ while( ~scanf("%d",&n)) { mem(vis,false); int x,y; for( int i = 1; i <= n; i++) { scanf("%d%d",&x,&y); x += 200; y += 200; p[i].x = x; p[i].y = y; vis[x][y] = 1; } ans = 0; for( int i = 1; i < n; i++) for( int j = i+1; j <= n; j++) solve(p[i],p[j]); printf("%d\n",ans/4); } return 0;}
阅读全文
0 0
- (2017多校2)1011/hdu-6055 Regular polygon(计算几何)
- 2017多校联合第二场 1011题 hdu 6055 Regular polygon 计算几何
- HDU 6055 Regular polygon(几何数学)(多校2)
- HDU 6055 Regular polygon【几何】
- 【几何】hdu 6055 Regular polygon
- HDU 6055 Regular polygon (计算几何 + 国家队论文结论)
- 【二分+计算几何】hdu 4033 Regular Polygon
- HDU 6055 Regular polygon(计算几何+思维)——2017 Multi-University Training Contest
- HDU6055 Regular polygon(计算几何,2017 HDU多校联赛 第2场)
- 17多校contest two 1011Regular polygon ( 计算几何
- Regular polygon(2017多校联赛2。 计算几何)
- HDU 6055 Regular polygon(几何)
- [HDU]-6055 Regular polygon
- hdu-6055-Regular polygon
- Regular polygon HDU 6055
- hdu--6055--Regular polygon
- HDU 6055 Regular polygon
- hdu 6055 Regular polygon
- ASCII码表
- shell中syntax error near unexpected token `fi'错误
- keepalived+lvs
- HDU
- JAVA1
- (2017多校2)1011/hdu-6055 Regular polygon(计算几何)
- aide
- java查询客户端IP工具类
- UVA 11437 Triangle Fun
- 。。。。。。
- HDU
- Java问题一:什么是this逃逸
- Qt自适应大小显示图片,添加菜单
- bootstrap-fileinput上传插件试用