Minesweeper is a single-player game in which the player continuously selects different cells of an m n grid. Each cell of the grid is either occupied by a bomb or is a safe cell. If a cell is occupied by a bomb and the player selects the cell, the player loses. Otherwise, the selected cell shows the number of bombs in the neighboring cells. A neighbor cell is a cell next to the current cell in the horizontal, vertical, and diagonal direction.
Write a program that receives in the first input line m and n as the number of rows and columns of the grid, respectively. In the second line, the user inputs an integer, b, showing the number of bombs placed in the grid. It then follows by lines of input from the user, each referring to the row and column index of each one of the bombs.
After receiving grid dimensions, the number of bombs, and bomb locations, you will need to display (print) the completed grid showing the bomb cells with * and safe cells with the number of safe cells neighboring that cell.
Note: In a regular minesweeper game, the integers in the grid denote the number of bombs in the neighboring cells. We have changed it to the number of safe cells for the purpose of this question only.
Examples:
Input:
2 2
2
0 0
1 1
Output:
*1
1*
Input:
3 2
1
0 1
Output:
2 *
4 4
3 3