poj 1046 Color Me Less 解题报告

题意:

前16组是被查找组,然后给出每组数据,从16组数据中找出符合公式   D的最小值。。

思路:

一道水题。遍历每组数据,暴力解之~~~

代码:

#include <iostream>
#include
<cmath>
#include
<cstdio>
using namespace std;

typedef
struct
{
int x1,x2,x3;
}Color;

Color c[
16];


int fun(Color cm,int i)
{
return sqrt((cm.x1-c[i].x1)*(cm.x1-c[i].x1)+(cm.x2-c[i].x2)*(cm.x2-c[i].x2)+(cm.x3-c[i].x3)*(cm.x3-c[i].x3));
}

int main(void)
{

//freopen("input.txt","r",stdin);
for(int i=0;i<16;i++)
{
cin
>>c[i].x1>>c[i].x2>>c[i].x3;
}

Color ct,cq;
int d;
while(cin>>ct.x1>>ct.x2>>ct.x3,ct.x1!=-1)
{
d
=fun(ct,0);cq=c[0];
for(int j=1;j<16;j++)
{
int t=fun(ct,j);
if(d>t) {d=t;cq=c[j];}
}
cout
<<"("<<ct.x1<<","<<ct.x2<<","<<ct.x3<<")"<<" maps to "<<"("<<cq.x1<<","<<cq.x2<<","<<cq.x3<<")"<<endl;
}


return 0;
}
原文地址:https://www.cnblogs.com/andyidea/p/poj1046.html