2023年藍橋杯省賽A組第八題 全球變暖

2021-09-13 03:59:10 字數 1425 閱讀 6663

題目

你有一張某海域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 直...