Clarke is a patient with multiple personality disorder. One day, Clarke turned into a learner of geometric. When he did a research with polygons, he found he has to judge if the polygon is a five-pointed star at many times. There are 5 points on a plane, he wants to know if a five-pointed star existed with 5 points given.
InputThe first line contains an integer T(1≤T≤10)T(1≤T≤10), the number of the test cases. For each test case, 5 lines follow. Each line contains 2 real numbers xi,yi(−109≤xi,yi≤109)xi,yi(−109≤xi,yi≤109), denoting the coordinate of this point.OutputTwo numbers are equal if and only if the difference between them is less than 10−410−4. For each test case, print YesYes if they can compose a five-pointed star. Otherwise, print NoNo. (If 5 points are the same, print YesYes. )Sample Input
23.0000000 0.00000000.9270509 2.85316950.9270509 -2.8531695-2.4270509 1.7633557-2.4270509 -1.76335573.0000000 1.00000000.9270509 2.85316950.9270509 -2.8531695-2.4270509 1.7633557-2.4270509 -1.7633557
Sample Output
YesNo
Hint
我想了下,感觉这道题做法很多啊,判边判点的,但是一想还是觉得判边比较轻松,只要考率里面五条边相等,外面五条边相等就好了
#includeusing namespace std;int main() { int T,i,j; double x[5],y[5],a[15]; scanf("%d",&T); while(T--) { for(i=0; i<5; i++) scanf("%lf%lf",&x[i],&y[i]); int t=0,f=1; for(i=0; i<5; i++) for(j=0; j 0.0001) f=0; printf("%s\n",f?"Yes":"No"); } return 0;}