POJ 1046 解题报告
2014-11-18 08:06
288 查看
这道题看着挺麻烦的。之前写过一个2D的KNN算法,用kd-tree实现的。我以为这个是实现3D的nearest neighbor.看了discuss发现标签是水题之后就知道我想复杂了。其实自己应该有这样的判断力,从要判断的数据个数就应该知道了,target只有16个。
1046 | Accepted | 712K | 0MS | G++ | 1119B |
/* ID: thestor1 LANG: C++ TASK: poj1046 */ #include <iostream> #include <fstream> #include <cmath> #include <cstdio> #include <cstring> #include <limits> #include <string> #include <vector> #include <list> #include <set> #include <map> #include <queue> #include <stack> #include <algorithm> #include <cassert> using namespace std; int main() { std::vector<std::vector<int> > colors(16, std::vector<int>(3, 0)); for (int i = 0; i < 16; ++i) { for (int j = 0; j < 3; ++j) { cin >> colors[i][j]; } } int x, y, z; while (true) { cin >> x >> y >> z; if (x == -1) { break; } int mindis = -1, mini; for (int i = 0; i < colors.size(); ++i) { int dis = (x - colors[i][0]) * (x - colors[i][0]) + (y - colors[i][1]) * (y - colors[i][1]) + (z - colors[i][2]) * (z - colors[i][2]); if (mindis < 0 || dis < mindis) { mindis = dis; mini = i; } } cout << "(" << x << "," << y << "," << z << ") maps to (" << colors[mini][0] << "," << colors[mini][1] << "," << colors[mini][2] << ")" << endl; } return 0; }
相关文章推荐
- POJ 1046(颜色映射 简单数学) 解题报告
- poj 1046 Color Me Less 解题报告
- poj1046 解题报告
- POJ1046解题报告
- poj 1046 Color Me Less 解题报告
- POJ 1046(颜色映射 简单数学) 解题报告
- poj解题报告——2419
- POJ 2367 拓扑排序 解题报告
- POJ 2109 解题报告
- POJ 1001 Exponentiation解题报告
- POJ_1840Eqs解题报告
- POJ 2362 解题报告
- 【转】POJ题目分类 - 实时更新我所有的解题报告链接
- 【简单题】POJ1032解题报告
- POJ - 3026 Borg Maze解题报告(Kruskal+Bfs)
- poj 1004 Financial Management 解题报告
- POJ - 3087 Shuffle'm Up解题报告(模拟)
- poj 1107解题报告
- POJ 1007DNA Sorting解题报告——【PKU ACM】
- POJ 1008 Maya Calendar [解题报告] Java