color me less


又是一道比较简单的题目~

题目链接: 题目

题目思路如下:

  1. 输入16组已知RGB,输出余下输入所对应的映射。
  2. 映射是由距离公式决定的,那么在已知RGB中找出与输入RGB距离最小的RGB为所求RGB。

代码如下:

#include <iostream>
using namespace std;
int ()
{
int r[17],g[17],b[17];
int s,t,u,num;
int min;
int d;
for(int i=0;i<=15;i++)
{
    cin>>r[i]>>g[i]>>b[i];
}
while(cin>>s>>t>>u && u!=-1 && s!=-1 && t!=-1)
{
   min=200000;
   for(int i=0; i<=15;i++)
   {
           d= (s-r[i])*(s-r[i])+(t-g[i])*(t-g[i])+(u-b[i])*(u-b[i]);
           if(min > d)
           {
           min = d;
           num = i;
           }
   }
   cout<<"("<<s<<","<<t<<","<<u<<") maps to ("<<r[num]<<","<<g[num]<<","<<b[num]<<")"<<endl;
}
return 0;
}