简单题一道
#include <stdio.h>
#include <math.h>
int main()
{
int RGB[17][3],remain[500][3];
int i,j,k,num,a,b,c;
float D,temp;
for(i=0;i<16;i++)
for(j=0;j<3;j++)
scanf("%d",&RGB[i][j]);
i=0;j=0;
while(scanf("%d%d%d",&remain[i][j],&remain[i][j+1],&remain[i][j+2])&&remain[i][j]!=-1)
{
temp=255*255*3;
for(k=0;k<16;k++)
{
a=(remain[i][0]-RGB[k][0])*(remain[i][0]-RGB[k][0]);
b=(remain[i][1]-RGB[k][1])*(remain[i][1]-RGB[k][1]);
c=(remain[i][2]-RGB[k][2])*(remain[i][2]-RGB[k][2]);
D=sqrt(a+b+c);
if(D<temp)
{
temp=D;
num=k;
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",remain[i][0],remain[i][1],remain[i][2],RGB[num][0],RGB[num][1],RGB[num][2]);
i++;
}
return 0;
}