UVa 152 一堆树

来源:互联网 发布:mac磁盘工具合并分区 编辑:程序博客网 时间:2024/04/27 21:48

/*

* 解题思路:

* 给出一棵树的三位坐标,挨个求每棵树离它最近那棵树距离下取整的值为0~9哪个距离值,就在那个距离值上+1

*       最后记得换行

*/

#include <stdio.h>#include <math.h>#include <string.h>#include <stdlib.h>#define A 10000#define INF 0x5fffffint p;int x[ A ],y[ A ],z[ A ];int search( int xx ){    int i;    int min = INF,tmp1,tmp2,tmp3,tmp;    for( i=0;i<p;i++)        if( !(i-xx) ) continue;        else        {            tmp1 = x[ i ] - x[ xx ] ;            tmp2 = y[ i ] - y[ xx ] ;            tmp3 = z[ i ] - z[ xx ] ;            tmp = tmp1*tmp1 + tmp2*tmp2 + tmp3*tmp3;            if( sqrt(tmp) < min ) min = sqrt( tmp );        }    return min;}int main( ){    int i;    int dis[ 15 ];    p = 0;    memset( dis , 0 , sizeof( dis ) );    while( scanf("%d%d%d",&x[ p ] , &y[p] , &z[ p ] ) &( x[ p ] || y[ p ] || z[ p ] )) p++;    for( i=0;i<p;i++ )        dis[ search( i ) ]++;    for(i=0;i<10;i++ )        printf("%4d",dis[ i ] );    puts("");    return 0;}


0 0
原创粉丝点击