题目大意:
给16种颜色。然后给出n种颜色,找到16种颜色中和它距离最近的颜色
解题思路:
挨个比较就好了
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int point[26][4];
int x,y,z;
int x1,y1,z1;
int i;
double d;
for(i=1;i<=16;i++)
{
scanf("%d%d%d",&point[i][1],&point[i][2],&point[i][3]);
}
while(scanf("%d%d%d",&x,&y,&z)&&(x!=-1||y!=-1||z!=-1))
{
x1=point[1][1];y1=point[1][2];z1=point[1][3];
d=sqrt((point[1][1]-x)*1.0*(point[1][1]-x)+(point[1][2]-y)*(point[1][2]-y)+(point[1][3]-z)*(point[1][3]-z));
for(i=2;i<=16;i++)
{
if(sqrt((point[i][1]-x)*1.0*(point[i][1]-x)+(point[i][2]-y)*(point[i][2]-y)+(point[i][3]-z)*(point[i][3]-z))<d)
{
d=sqrt((point[i][1]-x)*1.0*(point[i][1]-x)+(point[i][2]-y)*(point[i][2]-y)+(point[i][3]-z)*(point[i][3]-z));
x1=point[i][1];y1=point[i][2];z1=point[i][3];
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,x1,y1,z1);
}
return 0;
}