1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > HDU 5563 Clarke and five-pointed star

HDU 5563 Clarke and five-pointed star

时间:2020-01-01 21:01:20

相关推荐

HDU 5563 Clarke and five-pointed star

5563 Clarke and five-pointed star

这是昨天晚上BC的B题,题目是说给你五个点,让你判断是不是能够成整五角星。换句话说就是让你判断是不是整五边形。

这里有两种思路

从角度出发判断每个角的角度。从边出发判断边的长短。

#include<bits/stdc++.h>using namespace std;#define eps 0.00001struct node{double x,y;};node a[6];double d[20];double pp(double x1,double y1,double x2,double y2){return sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) );}int main(){int t;scanf("%d",&t);while(t--){for(int i=0; i<5; i++)scanf("%lf%lf",&a[i].x,&a[i].y);int cnt=0,flag=1;for(int i=0; i<5; i++){for(int j=i+1; j<5; j++){d[cnt++]=pp(a[i].x,a[i].y,a[j].x,a[j].y);}}sort(d,d+cnt);//只需要判断临近的边就行了。for(int i=1; i<5; i++){if(abs(d[i]-d[i-1])>1e-5){flag=0;break;}}if(flag)printf("Yes\n");elseprintf("No\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。