1068 萬綠叢中一點紅 20 分 測試點3 5

2021-10-22 10:39:01 字數 1986 閱讀 9762

對於計算機而言,顏色不過是畫素點對應的乙個 24 位的數值。現給定一幅解析度為 m×n 的畫,要求你找出萬綠叢中的一點紅,即有獨一無二顏色的那個畫素點,並且該點的顏色與其周圍 8 個相鄰畫素的顏色差充分大。

輸入格式:

輸入第一行給出三個正整數,分別是 m 和 n(≤ 1000),即影象的解析度;以及 tol,是所求畫素點與相鄰點的顏色差閾值,色差超過 tol 的點才被考慮。隨後 n 行,每行給出 m 個畫素的顏色值,範圍在 [0,2^​24​​ ) 內。所有同行數字間用空格或 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 0 0 0

0 5 0 0

0 0 0 0

輸出樣例 2:

not unique

輸入樣例 3:

3 3 5

1 2 3

3 4 5

5 6 7

輸出樣例 3:

not exist

**如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int max_n =

1006

;struct candiate

temp;

int picture[max_n]

[max_n]

;bool

isred

(int x,

int y,

int tol)}}

}}}}

return

false;}

intmain()

}}int num =0;

int x, y;

for(

int i =

0; i < can.

size()

; i++)}

if(num ==0)

else

if(num ==1)

else

return0;

}

注意審題,題目有說獨一無二的點,所以需要記錄元素出現的次數。一開始想著是開乙個很大的陣列,結果很容易就空間不足,後面上網看了一下發現可以用map,於是解決了第乙個問題。測試點3、5是一開始沒考慮邊界(第1行、第m行,第1列、第n列),後面想到可以開乙個(m+1)x(n+1)的陣列存放矩陣,而第0行第0列與第m+1行和n+1列存放乙個很大的負數,這樣就能滿足邊界點的判定。(如(1,1)與左上角的判定,由於左上角沒有元素,是一定要返回true的)

1068 萬綠叢中一點紅 (20 分)

1068 萬綠叢中一點紅 20 分 對於計算機而言,顏色不過是畫素點對應的乙個 24 位的數值。現給定一幅解析度為 m n的畫,要求你找出萬綠叢中的一點紅,即有獨一無二顏色的那個畫素點,並且該點的顏色與其周圍 8 個相鄰畫素的顏色差充分大。輸入第一行給出三個正整數,分別是 m 和 n 1000 即影...

1068 萬綠叢中一點紅 20 分

對於計算機而言,顏色不過是畫素點對應的乙個 24 位的數值。現給定一幅解析度為 m n 的畫,要求你找出萬綠叢中的一點紅,即有獨一無二顏色的那個畫素點,並且該點的顏色與其周圍 8 個相鄰畫素的顏色差充分大。輸入第一行給出三個正整數,分別是 m 和 n 1000 即影象的解析度 以及 tol,是所求畫...

1068 萬綠叢中一點紅 20 分

對於計算機而言,顏色不過是畫素點對應的乙個 24 位的數值。現給定一幅解析度為 m n 的畫,要求你找出萬綠叢中的一點紅,即有獨一無二顏色的那個畫素點,並且該點的顏色與其周圍 8 個相鄰畫素的顏色差充分大。輸入格式 輸入第一行給出三個正整數,分別是 m 和 n 1000 即影象的解析度 以及 tol...