UVA152 Tree's a Crowd

来源:互联网 发布:多益网络总经理徐波 编辑:程序博客网 时间:2024/06/10 19:42

就是给出n棵树,还有这些树的坐标,然后每颗树和其他所有树都有一个距离,取其中最近的。。

统计每颗数和其他树距离中最近的那个,然后输出距离为0-9的数量。。。

暴力模拟就过了。。


AC代码:


#include<stdio.h>#include<algorithm>#include<cmath>using namespace std;class tree {public :int x,y,z;int distance;int operator-(tree tr) {return (int)sqrt( (x - tr.x) * (x - tr.x) + (y - tr.y) * (y - tr.y) + (z - tr.z) * (z - tr.z) );}};int main () {tree tr[5000];int num;int result[10] = {0};for ( int i = 0 ;;i++) {scanf("%d%d%d", &tr[i].x , &tr[i].y , &tr[i].z );if ( tr[i].x == 0 && tr[i].y == 0 && tr[i].z == 0)break;num = i + 1;}    int mindi = 10000000;for( int i = 0 ; i < num ; i++) {for ( int j = 0 ;j < num ; j++) {if (i != j) {if ( tr[i] - tr[j] < mindi) {mindi = tr[i] - tr[j];}}}if ( mindi < 10 ) {result[mindi]++;}mindi = 10000000;}for ( int i = 0 ;i < 10; i++)printf ("%4d",result[i]);printf("\n");return 0;}


0 0
原创粉丝点击