现在的位置: 首页 > 综合 > 正文

152-Tree’s a Crowd

2014年03月17日 ⁄ 综合 ⁄ 共 927字 ⁄ 字号 评论关闭
/**
*  @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;


}

抱歉!评论已关闭.