지뢰 찾기
면접 대비시간 제한2초메모리 제한1024 MB
흑백 격자가 주어질 때 흰 칸은 빈 칸으로, 검은 칸은 지뢰나 1에서 8 사이의 숫자로 채운 지도를 만듭니다. 그런 지도가 없으면 No solution을 출력합니다.
문제
바샤는 지뢰 찾기 게임을 좋아한다. 이 게임은 한 사람이 행 열의 격자판에서 진행한다. 일부 칸에는 지뢰가 놓여 있다. 나머지 칸에는 1부터 8까지의 숫자가 적혀 있거나 아무것도 적혀 있지 않다. 숫자는 꼭짓점을 공유하는 인접 칸 중 지뢰가 있는 칸의 개수이고, 빈 칸은 인접 칸에 지뢰가 없다는 뜻이다. 한 칸에는 지뢰를 최대 하나만 놓을 수 있다. 지뢰와 숫자가 배치된 격자판을 '지도'라고 부른다.
바샤는 모눈종이에 칸을 검은색과 흰색으로 칠한 그림을 그린다. 바샤는 각 그림에 맞는 지도를 만들려고 한다. 검은 칸에는 지뢰 또는 1부터 8까지의 숫자가 있어야 하고, 흰 칸은 비어 있어야 한다. 이런 지도를 만드는 프로그램을 작성하라.
입력
첫 줄에 행의 수 과 열의 수 이 주어진다 (). 이어서 개의 줄에 각각 공백으로 구분된 개의 수가 주어진다. 각 수는 0 또는 1이다. 0은 흰 칸, 1은 검은 칸을 뜻한다.
출력
지도를 개의 줄로 출력한다. 각 줄은 개의 문자로 이루어지며, 문자 사이에 공백을 넣지 않는다. 지뢰가 있는 칸은 *, 숫자가 있는 칸은 그 숫자, 빈 칸은 .으로 출력한다.
그림에 맞는 지도를 만들 수 없으면 No solution을 한 줄에 출력한다.