#include <algorithm>
#include <cstring>
#include <iostream>
#include <cstdio>
#include <cmath>
#define LL __int64
using namespace std;
struct node
{
LL x;
LL y;
LL z;
}s[4];
LL a[4];
LL used[4];
int flag;
double cal(int a,int b)
{
return (pow(1.0*(s[a].x-s[b].x),2)+pow(1.0*(s[a].y-s[b].y),2)+pow(1.0*(s[a].z-s[b].z),2));
}
int E(double a,double b)
{
if(fabs(a-b)<1e-10)
return 1;
return 0;
}
int main()
{
LL i,j,k;
LL t,n,m;
double dis[20];
LL cas=0;
scanf("%I64d",&t);
while(t--)
{
flag=0;
int cut=0;
for(i=0;i<4;i++)
scanf("%I64d%I64d%I64d",&s[i].x,&s[i].y,&s[i].z);
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
dis[cut++]=cal(i,j);
sort(dis,dis+cut);
if(dis[0]==dis[1]&&dis[1]==dis[2]&&dis[2]==dis[3]&&dis[3]*2==dis[4]&&dis[4]==dis[5])
flag=1;
printf("Case #%d: ",++cas);
if(flag)
puts("Yes");
else
puts("No");
}
return 0;
}
给四个点,证明能形成一个正方形 hdu 5206
最新推荐文章于 2021-05-25 06:44:24 发布