DFS 種子填充問題 藍橋杯 掃雷

2021-09-26 09:10:48 字數 877 閱讀 5549

你玩過掃雷嗎?這個可愛的小遊戲帶有乙個我們記不清名字的作業系統。遊戲的目標是找到所有地雷在m x n場中的位置。遊戲在乙個正方形中顯示乙個數字,它告訴你在這個正方形附近有多少個地雷。每個方塊最多有八個相鄰方塊。左側的4x 4欄位包含兩個地雷,每個地雷由乙個「`」字元表示。如果我們用上面描述的提示數來表示同乙個字段,我們最後得到右邊的字段:……*…100 2210 110 1110

輸入:輸入將由任意數量的字段組成。每個欄位的第一行包含兩個整數n和m(0輸出:

對於每個字段,單獨在一行上列印訊息欄位x,其中x代表從1開始的字段編號。接下來的n行應該包含帶有「…」字元的字段,替換為該廣場附近的地雷數量。字段輸出之間必須有空行。

樣例輸入

4 4…….…

…3 5

**……

.*…0 0

樣例輸出

field #1:

1002210

1101110

field #2:

**100

33200

1*100

本題是一道很經典的dfs,種子填充問題;

#include#include#include#includeusing namespace std;

const int maxn=100+10;

int rus[8][2]=,,,,,,,};//方向

char s[maxn][maxn];

int a[maxn][maxn];

int m,n;

void dfs(int x,int y )//dfs

cout<<"field #"<<++k<<":"

}

藍橋杯 掃雷問題

掃雷的主要問題就是判斷周圍雷的個數 ch i j 表示雷區中的乙個位置,那麼就判斷周圍雷的個數 ch i 1 j 1 ch i 1 j ch i 1 j 1 ch i j 1 ch i j 1 ch i 1 j 1 ch i 1 j ch i 1 j 1 即左上,上,右上,左,右,左下,右下。八個方...

種子填充問題

兩種連通區域 四連通區域 從區域內一點出發,可通過上 下 左 右四個方向的移動組合,在不越出區域的前提下,能到達區域內的任意畫素 八連通區域 從區域內每一畫素出發,可通過八個方向,即上 下 左 右 左上 右上 左下 右下移動的組合,在不越出區域的前提下,能到達區域內的任意畫素。基本原理 從多邊形區域...

問題1254 藍橋杯 掃雷

題目描述 掃雷遊戲你一定玩過吧!現在給你若干個n m的地雷陣,請你計算出每個矩陣中每個單元格相鄰單元格內地雷的個數,每個單元格最多有8個相鄰的單元格。0 n,m 100 注意兩個矩陣之間應該有乙個空行,由於oj的格式化這裡不能顯示出來 資料規模和約定 0 n,m 100 輸入輸入包含若干個矩陣,對於...