题目链接:
http://poj.org/problem?id=1046
//C++代码
#include<iostream>
#include<cstdio>
using namespace std;
struct Color{
int r,g,b;
}a[16];
int main(){
int r,g,b,i,j;
for(i=0;i<16;i++) scanf("%d%d%d",&a[i].r,&a[i].g,&a[i].b);
while(scanf("%d%d%d",&r,&g,&b)!=EOF){
if(r==-1 && g==-1 && b==-1) break;
int min=1000000;
for(i=0;i<16;i++){
int x=r-a[i].r;
int y=g-a[i].g;
int z=b-a[i].b;
if(x*x+y*y+z*z<min){
min=x*x+y*y+z*z;
j=i;
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",r,g,b,a[j].r,a[j].g,a[j].b);
}
return 0;
}