因为痛,所以叫青春

我有一个梦想:穷屌丝变身富屌丝
POJ 1046Color Me Less
 1 给出散布在三维空间的十六个点
 2 然后给出其他的点,求这个点到所给十六个点最近的点
 3 #include<stdio.h>
 4 #include<math.h>
 5 #include<iostream>
 6 using namespace std;
 7 int main()
 8 {
 9     int list[16][3], x, y, z, i;
10     for(i = 0;i < 16; i++)
11         cin>>list[i][0]>>list[i][1]>>list[i][2];
12     while(cin>>x>>y>>z && (x != -1 || y != -1 || z != -1))
13     {
14         int flag;
15         double min = 255*4;
16         for(i = 0;i < 16; i++)
17             if(sqrt((list[i][0]-x)*(list[i][0]-x) + (list[i][1]-y)*(list[i][1]-y) + (list[i][2]-z)*(list[i][2]-z)) < min)
18             {
19                 min = sqrt((list[i][0]-x)*(list[i][0]-x) + (list[i][1]-y)*(list[i][1]-y) + (list[i][2]-z)*(list[i][2]-z));
20                 flag = i;
21             }
22         cout<<'('<<x<<','<<y<<','<<z<<") maps to ("<<list[flag][0]<<','<<list[flag][1]<<','<<list[flag][2]<<')'<<endl;
23     }
24     return 0;
25 }
View Code

 

posted on 2013-05-24 16:36  Nice!  阅读(368)  评论(0编辑  收藏  举报