本文主要是介绍poj 1046 Color Me Less,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题也是一道很水的题,一个简单的数学计算,再就是找到集合中的最小的值就可以了,反正暴搜一遍就可以了,数据量也不大,不然就得sort()了。。。
但是还是学得到小技巧,就是 INT_MAX 要用到头文件<iostream> ,我试了一下 INT_MAX 的值是 2147483647,就是 int型(有符号)最大的数。。。
另外就是读懂题意很重要了,再简单的题目,读不懂题目也白搭
这道题目的大致含义是:现输入16种颜色,然后输入N种颜色,依次输出与后面N种颜色最接近的颜色。
颜色与颜色之间的距离用D表示,两种颜色的距离
AC的代码:
#include<stdio.h>
#include<iostream> //INT_MAX 要用到的头文件int main()
{int a[17],b[17],c[17];int x,y,z,i,pos;double minDis,tmp;//输入内部数据for(i=0;i<16;i++)scanf("%d%d%d",&a[i],&b[i],&c[i]);//testcasewhile(scanf("%d%d%d",&x,&y,&z)){if(x==-1 && y==-1 && z==-1)break;minDis=INT_MAX;for(i=0;i<16;i++){tmp=(x-a[i])*(x-a[i])+(y-b[i])*(y-b[i])+(z-c[i])*(z-c[i]);if(tmp<minDis){minDis=tmp;pos=i;}}printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,a[pos],b[pos],c[pos]);}return 0;
}
这篇关于poj 1046 Color Me Less的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!