C小加

厚德 博学 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

poj 1046 Color Me Less 解题报告

Posted on 2011-11-21 17:07 C小加 阅读(1387) 评论(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;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理