/** * @author:heiqiaoxiang * @time:2013/10/18 19:44 * @theme:152-Tree's a Crowd * @每个节点和其他节点计算距离,取最小值,并归类为[0~9]之内。 * @sqrt开根号pow(a,2)a的平方 最大整数numeric_limits<int>::max(); */ #include<iostream> #include<stdio.h> #include<math.h> //#include<algorithm> #include<string.h> #include<limits>//numeric_limits //#define LOCAL using namespace std; int line[5000+10][3]; int histogram[10]; int main(int argc,char const *argv[]){ #ifdef LOCAL freopen("in.txt","r",stdin); #endif int j,k,i=0; memset(histogram,0,sizeof(histogram)); while(1){ scanf("%d%d%d",&line[i][0],&line[i][1],&line[i][2]); if(!(line[i][0]|line[i][1]|line[i][2]))break; i++; } for(j=0;j<i;j++){ int min=numeric_limits<int>::max(); for(k=0;k<i;k++){ if(j==k)continue; int di=(int)sqrt(pow(line[j][0]-line[k][0],2)+ pow(line[j][1]-line[k][1],2)+pow(line[j][2]-line[k][2],2)); min = di<min?di:min; // if(di<10)printf("#%d#@",di); } if(min>=0 && min<10) histogram[min]++; } for(i=0;i<10;i++)printf("%4d",histogram[i]); printf("\n"); return 0; }