# 題目: UVa 10189 - Minesweeper

# 題目說明

給你 n * m 的矩形,並告訴你地雷的位置 (*),求完成後踩地雷


INPUT:
每筆測資輸入兩個整數 nm ,代表範圍
接下來輸入 n * m 個字元


OUTPUT:
輸出完成後的踩地雷圖

# 解題方法

一個一個字元讀取,當遇到 * 時,將其位置 -10 ,以他為中心的九宮格全部 +1
最後為負數則輸出 * ,其餘直接輸出

# 參考程式碼

#include <iostream>
#include <memory.h>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int n, m, cases = 0;
	char ch;
	int G[102][102];
	while (cin >> n >> m, n && m)
	{
		memset(G, 0, sizeof(G));
		for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j)
		{
			cin >> ch;
			if (ch == '*')
			{
				G[i][j] -= 10;
				for (int x = i - 1; x <= i + 1; ++x) for (int y = j - 1; y <= j + 1; ++y)
				{
					++G[x][y];
				}
			}
		}
		cout << (cases ? "\n" : "") << "Field #" << ++cases << ":\n";
		for (int i = 1; i <= n; ++i)
		{
			for (int j = 1; j <= m; ++j)
				G[i][j] >= 0 ? cout << G[i][j] : cout << "*";
			cout << "\n";
		}
	}
	return 0;
}