만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

지뢰 찾기

면접 대비

시간 제한2초메모리 제한1024 MB

요약
흑백 격자가 주어질 때 흰 칸은 빈 칸으로, 검은 칸은 지뢰나 1에서 8 사이의 숫자로 채운 지도를 만듭니다. 그런 지도가 없으면 No solution을 출력합니다.
난이도

보통10점 중 4점

유형
구현, 그리디
정답자
아직 제출이 없습니다

문제

바샤는 지뢰 찾기 게임을 좋아한다. 이 게임은 한 사람이 mm 행 nn 열의 격자판에서 진행한다. 일부 칸에는 지뢰가 놓여 있다. 나머지 칸에는 1부터 8까지의 숫자가 적혀 있거나 아무것도 적혀 있지 않다. 숫자는 꼭짓점을 공유하는 인접 칸 중 지뢰가 있는 칸의 개수이고, 빈 칸은 인접 칸에 지뢰가 없다는 뜻이다. 한 칸에는 지뢰를 최대 하나만 놓을 수 있다. 지뢰와 숫자가 배치된 격자판을 '지도'라고 부른다.

바샤는 모눈종이에 칸을 검은색과 흰색으로 칠한 그림을 그린다. 바샤는 각 그림에 맞는 지도를 만들려고 한다. 검은 칸에는 지뢰 또는 1부터 8까지의 숫자가 있어야 하고, 흰 칸은 비어 있어야 한다. 이런 지도를 만드는 프로그램을 작성하라.

입력

첫 줄에 행의 수 mm과 열의 수 nn이 주어진다 (1≤m,n≤1001 \le m, n \le 100). 이어서 mm개의 줄에 각각 공백으로 구분된 nn개의 수가 주어진다. 각 수는 0 또는 1이다. 0은 흰 칸, 1은 검은 칸을 뜻한다.

출력

지도를 mm개의 줄로 출력한다. 각 줄은 nn개의 문자로 이루어지며, 문자 사이에 공백을 넣지 않는다. 지뢰가 있는 칸은 *, 숫자가 있는 칸은 그 숫자, 빈 칸은 .으로 출력한다.

그림에 맞는 지도를 만들 수 없으면 No solution을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    0 1 1 1
    1 1 1 1
    1 1 0 0
    
    예상 출력
    .1*1
    1211
    *1..
    
  2. 예제 2

    입력
    3 3
    0 1 0
    1 0 1
    0 1 0
    
    예상 출력
    No solution