UVa 152 - Tree's a Crowd解题报告
来源:互联网 发布:淘宝可以改会员名吗 编辑:程序博客网 时间:2024/06/04 17:45
题意:
每一颗树都与其他的树计算距离, 取最近距离(下取整). 如果最近距离在 [0,9] 之间, 就记录下来. 最后输出各个最近距离的个数。也就是说要每个点与其他点都比较一次,求最小距离。
#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace std;struct dots{double x, y, z;};dots point[5010];double distances(dots, dots);int counts[10];int main(){//freopen("data.txt", "r", stdin);int len = 0;for(int i = 0; ; i++){scanf("%lf%lf%lf", &point[i].x, &point[i].y, &point[i].z);if(point[i].x == 0.0 && point[i].y == 0.0 && point[i].z == 0.0)break;len++;}for(int i = 0; i < len; i++)//对每个点与其他进行比较{int m = 99999;for(int j = 0; j < len; j++)//对i点与其他点比较一次{if(i == j)continue;m = min(distances(point[i], point[j]), (double)m);//提取距离的最小值,隐含了向下取整}for(int i = 0; i < 10; i++)//对提取到的最小值进行统计if(i == m){counts[i]++;break;}}for(int i = 0; i < 10; i++)printf("%4d", counts[i]);cout << endl;return 0;}double distances(dots a, dots b){return sqrt(pow(a.x - b.x, 2) +pow(a.y - b.y, 2) +pow(a.z - b.z, 2));}
0 0
- UVa 152 - Tree's a Crowd解题报告
- UVa OJ 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
- uva 152 Tree's a Crowd
- UVa 152 Tree's a Crowd (暴力)
- uva - 152 - Tree's a Crowd
- UVa 152 - Tree's a Crowd
- 杭电 2048 神、上帝以及老天爷
- mysql触发器
- 面试题1
- 【FC】切bank
- HDOJ 1272 小希的迷宫
- UVa 152 - Tree's a Crowd解题报告
- 成绩转换
- LRUMAP 原理解析
- 浅析java程序中hibernate的应用总结
- 51,AVR,PIC,MSP430,STM32单片机比较
- 批处理根据不同的系统设置环境变量
- Hive笔记
- 一天连十万字都读不到的人是没有出路的
- 正则表达式的优化