你有一張某海域nxn畫素的**,".「表示海洋、」#"表示陸地,如下所示:
….##…
.##…
…##.
…####.
…###.
…其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。
由於全球變暖導致了海面上公升,科學家**未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰(上下左右四個相鄰畫素中有海洋),它就會被淹沒。
例如上圖中的海域未來會變成如下樣子:……
………#……
…請你計算:依照科學家的**,**中有多少島嶼會被完全淹沒。
輸入第一行包含乙個整數n。 (1 <= n <= 1000)
以下n行n列代表一張海域**。
**保證第1行、第1列、第n行、第n列的畫素都是海洋。
輸出乙個整數表示答案。
樣例輸入7…
.##…
.##…
…##.
…####.
…###.
…樣例輸出
1題解:廣搜,深搜好像會超時,每遇見一塊陸地,搜一次,
搜的時候把相連著的一塊陸地全加入佇列,每加入乙個』#』,就判斷』#'的四周是否有水,有的話那麼加一,如果加起來的這個數與進佇列的數相等,就會被淹沒
**:
#include
#include
#include
#include
using namespace std;
struct ti
u,v;
int n,book[
1000][
1000
],nex[4]
[2]=
;char a[
1000][
1000];
intti
(int x1,
int y1)
return0;
}int
bfs(
int x,
int y)}}
if(sum1==sum2)
return1;
else
return0;
}int
main()
}}printf
("%d\n"
,ans)
;return0;
}
藍橋杯 2023年第九屆真題 全球變暖
你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就會被淹...
藍橋杯 2023年第九屆真題 搭積木
藍橋杯 2018年第九屆真題 搭積木 小明對搭積木非常感興趣。他的積木都是同樣大小的正立方體。在搭積木時,小明選取 m 塊積木作為地基,將他們在桌子上一字排開,中間不留空隙,並稱其為第0層。隨後,小明可以在上面擺放第1層,第2層,最多擺放至第n層。擺放積木必須遵循三條規則 其中,小明不喜歡的位置都被...
藍橋杯 2023年第九屆真題 防禦力
還有兩題放在最後寫,不是說它難,而是它有問題。基本可以確定防禦力是錯了,答案沒有按照字典序排序。然後去知乎翻了一波往年的評價,發現那次比賽有三次勘誤,可能包括這個 因為也沒有人提到 採油這題無意中發現有人說了做法,但是其實是有缺陷的,雖然可以過藍橋杯的資料,但是構造了一組樣例把它hack了。所以可能...