LA 2963

来源:互联网 发布:淘宝评分低怎么办 编辑:程序博客网 时间:2024/05/29 12:47
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;struct node{int x,y,z,flag;}G[1010];struct node1{int a,b,len;}E[1010000];bool cmp(const node1 &a,const node1 &b){return a.len<b.len;}double cal(int a,int b){int x=G[a].x-G[b].x;int y=G[a].y-G[b].y;int z=G[a].z-G[b].z;return x*x+y*y+z*z;}int cnt,num[1010];int main(){int n;while(~scanf("%d",&n)){cnt=0;for(int i=0;i<n;i++){scanf("%d%d%d%d",&G[i].x,&G[i].y,&G[i].z,&G[i].flag);num[i]=1;}for(int i=0;i<n;i++)for(int j=i+1;j<n;j++){E[cnt].a=i;E[cnt].b=j;E[cnt++].len=cal(i,j);}sort(E,E+cnt,cmp);int res=0,t=0;int len=0;for(int i=0;i<cnt;i++){int l=E[i].len;while(i<cnt&&E[i].len==l){int a=E[i].a,b=E[i].b;if(G[a].flag==G[b].flag){num[a]++;num[b]++;if(num[a]==0)t--;if(num[b]==0)t--;}else{num[a]--;num[b]--;if(num[a]==-1)t++;if(num[b]==-1)t++;}i++;}i--;if(t>res)    {    res=t;    len=l;}}printf("%d\n%.4f\n",res,sqrt(len*1.0));}}

原创粉丝点击