UVA - 152 Tree's a Crowd
2014-12-16 11:19
323 查看
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18650
开始题意一直没看懂,百度了才知道是什么意思!
题目大意:给你一组三维空间中的点,每个点到其它点都有个距离,其中有个最小距离,如果这个最小距离小于10,就将对应的距离值的点个数加1,最后输出距离值为0,1,2,3,4,5,6,7,8,9的点的个数。
再看题目一想发现还是自己理解错了。题目很简单!
开始题意一直没看懂,百度了才知道是什么意思!
题目大意:给你一组三维空间中的点,每个点到其它点都有个距离,其中有个最小距离,如果这个最小距离小于10,就将对应的距离值的点个数加1,最后输出距离值为0,1,2,3,4,5,6,7,8,9的点的个数。
再看题目一想发现还是自己理解错了。题目很简单!
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; struct node { int x,y,z; }p[5010]; int solve(node a,node b) { return (int)sqrt(1.0*(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z)); } int main() { //freopen("a.txt","r",stdin); int n=1,i,j,f[11]; while(~scanf("%d %d %d",&p .x,&p .y,&p .z)) { if(p .x==0&&p .y==0&&p .z==0) break; // printf("%d %d %d\n",p .x,p .y,p .z); n++; } //printf("%d\n",n); memset(f,0,sizeof(f)); for(i=1;i<n;i++) { int m=260; for(j=1;j<n;j++) { if(i!=j) { int ans=solve(p[i],p[j]); if(ans<m) m=ans; } } if(m<10) f[m]++; } for(i=0;i<10;i++) printf("%4d",f[i]); printf("\n"); return 0; }
相关文章推荐
- UVA - 152 - Tree's a Crowd
- UVA-152- Tree's a Crowd
- UVa 152 Tree's a Crowd
- UVa 152 - Tree's a Crowd
- UVa 152 Tree's a Crowd (暴力)
- UVa 152 - Tree's a Crowd解题报告
- UVA 152 Tree's a Crowd
- UVa:152 - Tree's a Crowd
- Uva 152 Tree's a Crowd
- UVA 152-Tree's a Crowd(暴力求解三维坐标求最短距离)
- UVA - 152 Tree's a Crowd
- uva 152 - Tree's a Crowd
- UVA 152 - Tree's a Crowd
- UVA152 Tree's a Crowd
- uva 152 Tree's a Crowd
- UVA 152 Tree's a Crowd 一堆树 检索水题+暴力
- UVa 152 - Tree's a Crowd
- uva - 152 - Tree's a Crowd
- UVA 152 Tree's a Crowd (简单计算)
- UVA152-Tree's a Crowd