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 }