hdu 5533(几何水)
2015-11-04 13:45
288 查看
Input
The first line contains a integer T indicating
the total number of test cases. Each test case begins with an integer n,
denoting the number of stars in the sky. Following n lines,
each contains 2 integers xi,yi,
describe the coordinates of n stars.
1≤T≤300
3≤n≤100
−10000≤xi,yi≤10000
All coordinates are distinct.
Output
For each test case, please output "`YES`" if the stars can form a regular polygon. Otherwise, output "`NO`" (both without quotes).
Sample Input
Sample Output
题意:给你几个点,问能否形成正多边形。
思路:
①找出所有点之间的最短距离,即边长。然后再在所有点中找出与边长相等的,只要数量为n即
说明能够成正多边形
②要求输入的为整数,所以只有正四边形才能成立,判断下即可
The first line contains a integer T indicating
the total number of test cases. Each test case begins with an integer n,
denoting the number of stars in the sky. Following n lines,
each contains 2 integers xi,yi,
describe the coordinates of n stars.
1≤T≤300
3≤n≤100
−10000≤xi,yi≤10000
All coordinates are distinct.
Output
For each test case, please output "`YES`" if the stars can form a regular polygon. Otherwise, output "`NO`" (both without quotes).
Sample Input
3 3 0 0 1 1 1 0 4 0 0 0 1 1 0 1 1 5 0 0 0 1 0 2 2 2 2 0
Sample Output
NO YES NO
题意:给你几个点,问能否形成正多边形。
思路:
①找出所有点之间的最短距离,即边长。然后再在所有点中找出与边长相等的,只要数量为n即
说明能够成正多边形
②要求输入的为整数,所以只有正四边形才能成立,判断下即可
#include <iostream> #include <cstdio> #include <cmath> using namespace std; typedef long long ll; double x[1005]; double y[1005]; double len[1005][1005]; double get_(int i,int j) { return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); } int main() { int T,n; scanf("%d",&T); while(T--) { double tmin = 0x3f3f3f3f; scanf("%d",&n); for(int i = 1; i <= n; i++) { scanf("%lf%lf",&x[i],&y[i]); } for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) { len[i][j] = get_(i,j); tmin = min(tmin,len[i][j]); } int num = 0; for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) { if(tmin == len[i][j]) { num++; } } if(num == n) printf("YES\n"); else printf("NO\n"); } return 0; }
相关文章推荐
- 计算机网络 - 运输层
- node.js搭建HTTP服务器
- python3用pillow生成验证码,tornado中输出图片
- div随鼠标移动
- NSCache在AFNetworking及SDWebImage中的使用流程
- (java)3sum
- Android 通过WiFi连接adb
- log4j.properties文件的配置不起作用
- 分治法之合并排序(C实现)
- jquery rotate
- 解决Delphi开发DLL中窗体按钮显示状态不刷新问题.
- Android入门---ImageView(图像视图)
- net-snmp配置文件snmp.conf
- Python3 官方文档翻译 - 4.7 函数定义
- C#占位符和格式化字符串
- HDU 3068 最长回文 Manacher
- 从”JAVA“而终 12:java集合框架API讲解
- ReactionCocoa 登陆界面
- PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法
- Docker