閱讀659 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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]);
	
	//testcase
	while(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;
}


最後更新:2017-04-03 14:53:48

  上一篇:go Java常用類庫--StringBuffer:append、insert、reverse、replace、subString、delete、indexOf
  下一篇:go 導入Excel出錯引出兩類異常——數據庫異常和業務異常處理方式