題目
你有一張某海域nxn畫素的**,"."表示海洋、"#"表示陸地,如下所示:
.......
.##....
.##....
....##.
..####.
...###.
.......
其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。
由於全球變暖導致了海面上公升,科學家**未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰(上下左右四個相鄰畫素中有海洋),它就會被淹沒。
例如上圖中的海域未來會變成如下樣子:
.......
.......
.......
.......
....#..
.......
.......
請你計算:依照科學家的**,**中有多少島嶼會被完全淹沒。
【輸入格式】
第一行包含乙個整數n。 (1 <= n <= 1000)
以下n行n列代表一張海域**。
**保證第1行、第1列、第n行、第n列的畫素都是海洋。
【輸出格式】
乙個整數表示答案。
【樣例輸入】
7 .......
.##....
.##....
....##.
..####.
...###.
.......
【樣例輸出】
1 資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 1000ms
思路dfs 這道題和poj - 2386 lake counting類似可以參考它的解法
**
#include#include#include#includeusing namespace std;
int move1[5]=;
int move2[5]=;
void dfs(char s[1005][1005],int maxlo,int maxhi,int lo,int hi)
}int dfs_num(char s[1005][1005],int lo,int hi) // 統計島嶼數量
}return num;
}int main()
for(int i=1;i<=n;i++) // 淹沒後的情況
for(int j=1;j<=n;j++)
int sum1=dfs_num(s,1,n); // 沒淹之前的島嶼數量
int sum2=dfs_num(s1,1,n);// 淹沒後的島嶼數量
cout
}
2023年藍橋杯B組c c 第八題詳解
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...
2023年藍橋杯省賽B組 明碼
2018年藍橋杯省賽b組 明碼 題目就不複製了,大概就是,給了你10行資料,每行32個數。要求將這些資料轉化成二進位制,即明碼,每一行資料排列成16 16,即可以看到乙個漢字。其實excel也可以做,但是數字需要自己敲上去就有點麻煩 include inter int n 轉換成二進位制 intb ...
2018藍橋杯省賽C C B組
第四題 鷹蛋問題 ppt tls講解 講的很棒,但屬於較難的啊qaq 方法一 時間複雜度n 3 n 2logn 定義 dp i j 用i個蛋在j層樓上最壞情況下確定e所需要的最小次數 轉移 dp i j min max dp i 1 w 1 dp i j w 1 1 w j i log2 n 1 直...