Programming contests

Informatikai versenyfeladatok, gyakorló feladatsor, 2012. február 20.

March 1, 2012 12:00 AM – April 1, 2012 12:00 AM

Minesweeper

Have you ever played Minesweeper? It's a cute little game which comes within a certain Operating System which name we can't really remember. Well, the goal of the game is to find where are all the mines within a M × N field. To help you, the game shows a number in a square which tells you how many mines there are adjacent to that square. For instance, suppose the following 4 × 4 field with 2 mines (which are represented by an “*” character):

*...
....
.*..
....

If we would represent the same field placing the hint numbers described above, we would end up with:

*100
2210
1*10
1110

As you may have already noticed, each square may have at most 8 adjacent squares.

Input Specification

The input will consist of an arbitrary number of test cases. The first line of each test case contains two integers n and m (0 < nm ≤ 100) which stands for the number of lines and columns of the field respectively. The next n lines contains exactly m characters and represent the field. Each safe square is represented by an “.” character (without the quotes) and each mine square is represented by an “*” character (also without the quotes). The first line in a test case where n = m = 0 represents the end of input and should not be processed.

Output Specification

For each field, you must print the following message in a line alone, where x stands for the number of the field (starting from 1):

Field #x:

The next n lines should contain the field with the “.” characters replaced by the number of adjacent mines to that square. There must be an empty line between field outputs.

Sample Input

  1. 4 4
  2. *...
  3. ....
  4. .*..
  5. ....
  6. 3 5
  7. **...
  8. .....
  9. .*...
  10. 0 0
download as text file

Output for Sample Input

  1. Field #1:
  2. *100
  3. 2210
  4. 1*10
  5. 1110
  6. Field #2:
  7. **100
  8. 33200
  9. 1*100
download as text file
University of Debrecen; Faculty of Informatics; v. 03/01/2019