你有一張某海域nxn畫素的**,"."表示海洋、"#"表示陸地,如下所示:
.......
.##....
.##....
....##.
..####.
...###.
.......
其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。
由於全球變暖導致了海面上公升,科學家**未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰(上下左右四個相鄰畫素中有海洋),它就會被淹沒。
例如上圖中的海域未來會變成如下樣子:
.......
.......
.......
.......
....#..
.......
.......
請你計算:依照科學家的**,**中有多少島嶼會被完全淹沒。
【輸入格式】
第一行包含乙個整數n。 (1 <= n <= 1000)
以下n行n列代表一張海域**。
**保證第1行、第1列、第n行、第n列的畫素都是海洋。
【輸出格式】
乙個整數表示答案。
【輸入樣例】
7 .......
.##....
.##....
....##.
..####.
...###.
.......
【輸出樣例】
1 資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
注意:main函式需要返回0;
只使用ansi c/ansi c++ 標準;
不要呼叫依賴於編譯環境或作業系統的特殊函式。
所有依賴的函式必須明確地在原始檔中 #include
不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
#includeusing namespace std;
const int maxn = 1e6;
const int inf = 0x3f3f3f3f;
int dir[4][2]=;
int value[1001][1001]=;//染色
int value2[1001][1001]=;
int v=1;
int vis[1001][1001]=;
int n;
//染色
void dfs(int x,int y,int v)}}
}//模擬沉沒
void dfs2(int x,int y)
}int main()
}for(int i=1;i<=n;i++)}}
for(int i=1;i<=n;i++)
}for(int i=1;i<=n;i++)}}
for(int i=1;i<=n;i++)
}cout<}
全球變暖(BFS)
全球變暖 你有一張某海域 n n 畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼,例如上圖就有 2 座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中...
全球變暖,人類何去何從?
對於我國很多地方來說,酷熱天氣還在許多省份肆虐,比如從全國最高氣溫分布圖上看,我國很多地方的氣溫都超過了36攝氏度。同時因為濕度非常大,我國很多地方不僅酷熱,而且是極為悶熱的體感,讓人感覺極為難受。在我國酷熱的同時,全球其他地方似乎也正在經歷一樣的炎熱天氣 繼美國多地的罕見高溫天氣過後,歐洲似乎接過...
全球變暖(藍橋杯)
你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就會被淹...