现在的位置: 首页 > 综合 > 正文

POJ1046解题报告

2018年10月25日 ⁄ 综合 ⁄ 共 568字 ⁄ 字号 评论关闭

 继续水题战略,1046读懂题意后不难 AC代码:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{double s,D;
 int i,j,min,flag,target[16][3],color[3];
 for(i=0;i<16;i++)
 for(j=0;j<3;j++)
  cin>>target[i][j];
while(1)
{min=500;
 for(j=0;j<3;j++)
 cin>>color[j];
if(color[0]==-1)
break;
for(i=0;i<16;i++)
 {s=0;
 for(j=0;j<3;j++)
  s+=(color[j]-target[i][j])*(color[j]-target[i][j]);
     D=sqrt(s);
     if(D<min)
  {min=D;
  flag=i;}}
 cout<<"("<<color[0]<<","<<color[1]<<","<<color[2]<<") maps to ("<<target[flag][0]<<","<<target[flag][1]<<","<<target[flag][2]<<")"<<endl;
}
return 0;}

只要把平方根付给的变量设为双精度就行了,其他没什么。

【上篇】
【下篇】

抱歉!评论已关闭.