Clarke and five-pointed star

Accepts: 237
Submissions: 591
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
克拉克是一名人格分裂患者。某一天克拉克分裂为一个几何学习者,在研究多边形。
在研究某一个多边形的时候,克拉克发现他多次遇到判断5个点是否能组成一个五角星的问题,在这里,这5个点分别代表五角星的五个顶点(顶角上的点)。于是他跑来想你求助,让你写出一个程序快速判定。即对于给出的5个点,判断这5个点是否能组成一个五角星。
输入描述
第一行一个整数$T(1 \le T \le 10)$,表示数据的组数。
每组数据有$5$行,每行有两个实数$x_i, y_i(-10^9 \le x_i, y_i \le 10^9)$,表示第$i$个点的坐标。
输出描述
如果两个量相差小于$10^{-4}$,则认为这两个量相等。
对于每组数据,如果这$5$个点能组成一个五角星,则输出$Yes$,否则输出$No$。(如果$5$个点相同,那么也能组成一个五角星。)
输入样例
2
3.0000000 0.0000000
0.9270509 2.8531695
0.9270509 -2.8531695
-2.4270509 1.7633557
-2.4270509 -1.7633557
3.0000000 1.0000000
0.9270509 2.8531695
0.9270509 -2.8531695
-2.4270509 1.7633557
-2.4270509 -1.7633557
输出样例
Yes
No
Hint
样例1如图


样例2如图