JennyHallman
JennyHallman
2019-05-09 12:54

扫雷游戏(难度系数:3)C++版

  • c++
  • c语言

玩过扫雷游的朋友都知道,该游戏的目标是找出一个n*m矩阵内的所有的地雷,在本题中,你需要为每一个单元格统计出它周围地雷的个数,每个单元格最多有8个相邻单元格,如下图,4*4 的格子里,用“*”表示雷,用“^” 表示没有雷。
^^^
^^^^
^
^^
^^^^
计算后的输出结果为:
100
2210
1*10
1110
输入数据:
文件内包含若干个矩阵,对于每一个矩阵,第一行包含两个数M和N,分别表示该矩阵的行数和列数(0<N,M<100),接下来N行包含M个字符,就是该矩阵,用“
”表示地雷,用“^”表示空白。当N=M=0时,表示文件结束,不用处理该行,
输出数据:
对于每一个矩阵,首先在单独一行打印出矩阵序号:Field #X: 其中X是矩阵的编号,从1开始编号,接下来N行中,读入的“^”用该位置周围的地雷数目所代替,地雷处,仍用“*”表示。输出相邻的两个矩阵之间,空一行。

样例输入:
mine.txt:
4 4
^^^
^^^^
^
^^
^^^^
8 8
^^^^^^
^***^^
^*^^**^^
^^**^**^
^*^^**^^
^^^^^^
^^**^**^
^*^^**^^
0 0
mine2.txt:
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

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答