문제 G: Mine Sweeper

문제 G: Mine Sweeper

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 212  통과: 96
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

민정이는 아래와 같은 ‘지뢰찾기’ 게임을 개발하려고 한다. 이를 위해서 먼저 지뢰가 없는 셀에 인접한 셀들 중 지뢰가 몇 개 놓여있는지를 카운트하여 그 값을 출력하는 프로그램을 먼저 작성해 보자.







지뢰밭이 주어질 경우에 지뢰가 없는 셀은 주변 셀(가로, 세로, 대각선으로 인접한 셀)들 중에 몇 개의 지뢰가 있는지를 확인하여 그 숫자를 출력하고, 지뢰가 있는 셀은 그대로 지뢰 모양이 출력되도록 하는 프로그램을 작성하라.

입력 설명

맨 처음 테스트 케이스의 개수 T(1 <= T <= 10)를 입력 받는다.

그 뒤에 M x N 크기(M: 높이, N: 폭)의 지뢰밭을 의미하는 M, N(3<= M, N <=30) 을 입력 받는다.

그 다음에 M x N 크기의 지뢰밭이 입력된다.

지뢰가 없는 셀은 ‘.’으로 표시되며 지뢰가 있는 셀은 ‘*’ 로 표시된다.

출력 설명

각 테스트 케이스마다 주변 셀에 존재하는 지뢰의 개수를 M x N 크기로 출력한다. 지뢰가 있는 자리는 원래대로 ‘*’을 출력한다. 각 결과들 사이에는 빈줄을 출력하지 않는다. 

입력 예시 Copy

2
3 4
....
.*..
....
5 5
*....
....*
.*.*.
.*...
.....

출력 예시 Copy

1110
1*10
1110
*1011
2222*
2*3*2
2*311
11100