掃雷遊戲 (15 分

2021-09-12 19:42:26 字數 1382 閱讀 2492

掃雷遊戲 (15 分)

玩過掃雷遊的朋友都知道,該遊戲的目標是找出乙個nm矩陣內的所有的地雷,在本題中,你需要為每乙個單元格統計出它周圍地雷的個數,每個單元格最多有8個相鄰單元格,如下圖,44 的格仔裡,用「*」表示雷,用「^」 表示沒有雷。

計算後的輸出結果為:

100 2210 110 1110

輸入包含若干個矩陣,對於每乙個矩陣,第一行包含兩個數m和n,分別表示該矩陣的行數和列數(0對於每乙個矩陣,首先在單獨一行列印出矩陣序號:field #x: 其中x是矩陣的編號,從1開始編號,接下來n行中,讀入的「^」用該位置周圍的地雷數目所代替,地雷處,仍用「*」表示。輸出相鄰的兩個矩陣之間,空一行。

在這裡給出一組輸入。例如:

4 4 

*^^^

^^^^

^*^^

^^^^

8 8*^^^*^^^

*^****^^

^*^^**^^

^^**^**^

^*^^**^^

*^^^*^^^

^^**^**^

^*^^**^^

0 0

在這裡給出相應的輸出。例如:

field #1:

*100

2210

1*10

1110

field #2:

*324*310

*4****20

2*56**41

23**6**1

2*34**31

*334*531

23**5**1

1*33**31

逐個掃瞄,判斷上下左右八個格仔有沒有「 * 」,統計「 * 」數,替換「 ^ 」, 直接輸出。

/*掃雷遊戲*/

#include using namespace std;

int n, m;

char field[101][101];

bool judge(int x, int y)

if(field[x][y] == '*')

return true;

else

return false;

}int sxzy(int x, int y)

int main (void)

} for(int i = 0; i < m; ++i)

} cnt++;

cout << "field #" << cnt << ":"

cout << endl;

} cout << endl; //每個樣例結束,有乙個空行 }

return 0;

}

15NOIP普及組 掃雷遊戲

題目描述 掃雷遊戲是一款十分經典的單機小遊戲。在n行m列的雷區中有一些格仔含有地雷 稱之為地雷格 其他格仔不含地雷 稱之為非地雷格 玩家翻開乙個非地雷格時,該格將會出現乙個數字 提示周圍格仔中有多少個是地雷格。遊戲的目標是在不翻出任何地雷格的條件下,找出所有的非地雷格。現在給出nn行mm列的雷區中的...

15NOIP普及組 掃雷遊戲

本題的難點,1 是字元及字串的出入輸出 2 四個方向的遍歷 includeusing namespace std intn,m char a 105 105 int dx 8 依次對應上 下 左 右 左上 右上 左下 右下八個方向 的x座標變化差值 int dy 8 依次對應上 下 左 右 左上 右...

小遊戲 掃雷

c語言實現的乙個簡單的掃雷遊戲 介面簡單,功能 首次踩雷的,會換雷。掃雷有九宮格擴撒 環境 vs2015 如下 game.h pragma once ifndef game h define game h define rows 11 define cols 11 define num 9 incl...