ZOJ1046

#include<iostream>
#include<math.h>
//248K	16MS
using namespace std;

typedef struct RGB
{
	short R;
	short G;
	short B;
};

int D(RGB a,RGB b)
{
	int t1 = (a.R - b.R) * (a.R - b.R);
	int t2 = (a.G - b.G) * (a.G - b.G);
	int t3 = (a.B - b.B) * (a.B - b.B);

	return sqrt(1.0 * (t1 + t3 +t2));
}
int main()
{
	RGB target[16];
	int a,b,c,min=450,minj=16;
	for(int i = 0;i<16;i++){
		cin>>target[i].R>>target[i].G>>target[i].B;
	}
	cin>>a>>b>>c;
	while(a!=-1 || b != -1 || c!= -1)
	{
		min=450,minj=16;
		RGB r;
		r.R = a;
		r.G = b;
		r.B = c;
		for(int i = 15;i>=0;i--)
		{
			int tmp = D(target[i],r);
			if(min>=tmp){
				min = tmp;
				minj = i;
			}
		}
		
		cout<<"("<<r.R<<','<<r.G<<','<<r.B<<") maps to ("<<target[minj].R<<','<<target[minj].G<<','<<target[minj].B<<')'<<endl;
		cin>>a>>b>>c;
	}
}

你可能感兴趣的:(ZOJ)