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 }