對于計算機而言,顔色不過是像素點對應的一個24位的數值。現給定一幅分辨率為MxN的畫,要求你找出萬綠叢中的一點紅,即有獨一無二顔色的那個像素點,并且該點的顔色與其周圍8個相鄰像素的顔色差充分大。
輸入格式:
輸入第一行給出三個正整數,分别是M和N(<= 1000),即圖像的分辨率;以及TOL,是所求像素點與相鄰點的顔色差門檻值,色差超過TOL的點才被考慮。随後N行,每行給出M個像素的顔色值,範圍在[0, 224)内。所有同行數字間用空格或TAB分開。
輸出格式:
在一行中按照“(x, y): color”的格式輸出所求像素點的位置以及顔色值,其中位置x和y分别是該像素在圖像矩陣中的列、行編号(從1開始編号)。如果這樣的點不唯一,則輸出“Not Unique”;如果這樣的點不存在,則輸出“Not Exist”。
輸入樣例1:
8 6 200
0 0 0 0 0 0 0 0
65280 65280 65280 16711479 65280 65280 65280 65280
16711479 65280 65280 65280 16711680 65280 65280 65280
65280 65280 65280 65280 65280 65280 165280 165280
65280 65280 16777015 65280 65280 165280 65480 165280
16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215
輸出樣例1:
(5, 3): 16711680
輸入樣例2:
4 5 2
0 0 0 0
0 0 3 0
0 5 0 0
輸出樣例2:
Not Unique
輸入樣例3:
3 3 5
1 2 3
3 4 5
5 6 7
輸出樣例3:
Not Exist
解題思路:
很簡單,依次判斷
(i-1,j-1)(i-1,j)(i-1,j+1)
(I,j-1) (I,j+1)
(I+1,j-1)(I+1,j)(I+1,j+1)
即可。
注意數組範圍不要越界即可。