掃雷遊戲 (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...