又是一道比较简单的题目~
题目链接: 题目
题目思路如下:
- 输入16组已知RGB,输出余下输入所对应的映射。
- 映射是由距离公式决定的,那么在已知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;
}
近期评论