HDU 5206 Four Inages Strategy

来源:互联网 发布:精准扶贫平台 网络 编辑:程序博客网 时间:2024/05/18 00:42
#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vector"#include "cctype"#include "sstream"#include "cstdlib"#include "cstring"#include "stack"#include "ctime"#include "algorithm"#define pa pair<int,int>#define Pi M_PI#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLLusing namespace std;typedef long long LL;const int M=15;LL x[M],y[M],z[M];LL dist(int i,int j){    return (x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])+(z[i]-z[j])*(z[i]-z[j]);}struct node{    LL d;    int id;}dis[100];int cmp(node a,node b){    return a.d<b.d;}int main(){    int t,cas=0;    scanf("%d",&t);    while(t--)    {        for(int i=1;i<=4;i++)        {            cin>>x[i]>>y[i]>>z[i];        }        int h=0;        for(int i=1;i<4;i++)        {            for(int j=i+1;j<=4;j++)            {                dis[++h].d=dist(i,j);            }        }                sort(dis+1,dis+1+h,cmp);        int flag=0;                for(int i=2;i<=4;i++)        {            if(dis[i].d!=dis[i-1].d)flag=1;        }                if(dis[5].d!=dis[4].d*2 || dis[6].d!=dis[5].d)flag=1;        if(flag)printf("Case #%d: No\n",++cas);else printf("Case #%d: Yes\n",++cas);    }        return 0;    }


,,判断条件为四个点相减,除了对角的点不同其他的都相等

0 0
原创粉丝点击