Posted on 2011-11-21 17:07
C小加 阅读(1443)
评论(0) 编辑 收藏 引用 所属分类:
解题报告
题意:
前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;
}