만드는 중입니다

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

지뢰찾기

면접 대비

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

요약
풀이된 지뢰찾기 판에서 모든 숫자가 주변 깃발 개수와 같은지 검사합니다.
난이도

쉬움10점 중 2점

유형
행렬, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

지뢰찾기는 1인용 컴퓨터 게임이다. 게임의 목표는 지뢰를 밟지 않고 추상적인 지뢰밭을 모두 치우는 것이다. 게임이 시작되면 플레이어 앞에 n×mn \times m 크기의 빈 칸 격자가 나타난다. 지뢰가 없는 칸을 클릭하면 그 칸에 숫자가 드러난다. 이 숫자는 주변 칸 중 지뢰가 있는 칸의 개수이다. 두 칸은 변이나 꼭짓점을 공유하면 인접한 것으로 본다. 따라서 한 칸의 인접 칸은 최대 8개이다. 플레이어는 논리를 이용해 어떤 칸에 지뢰가 없다거나 있다는 사실을 추론한다. 그 결과에 따라 칸을 추가로 클릭해 치우거나, 깃발 표시로 지뢰가 있음을 나타낸다.

클락 켄트는 지뢰찾기에 빠진 사람이다. 크립톤인의 능력을 빌려 지뢰찾기를 눈 깜짝할 사이에 풀고, 그 결과를 당신에게 준다. 당신의 일은 그가 푼 판이 올바른지 판단하는 것이다. 판이 올바르게 풀린 것은 깃발을 꽂은 모든 칸에 지뢰가 있고, 숫자 X가 적힌 모든 칸의 인접 칸 중 깃발이 정확히 X개인 경우이다.

입력

첫 줄에 테스트 케이스 개수 T≤20T \le 20이 주어진다.

각 테스트 케이스는 다음 형식으로 주어진다.

  • 첫 줄에 공백으로 구분된 두 정수 nn과 mm이 주어진다. 1≤n≤201 \le n \le 20, 1≤m≤201 \le m \le 20이다.
  • 다음 nn개의 줄에는 각각 mm개의 문자가 주어진다. 각 문자는 0부터 8까지의 숫자이거나 'F'이다. 'F'는 클락이 그 칸에 깃발을 꽂았다는 뜻이다. 숫자는 인접 칸 중 지뢰가 있는 칸의 개수이다.

출력

테스트 케이스마다 한 줄씩 출력한다.

  • 판을 성공적으로 풀었으면 'Well done Clark!'을 출력한다.
  • 그렇지 않으면 'Please sweep the mine again!'을 출력한다.

예제1

  1. 예제 1

    입력
    2
    8 8
    F1012210
    1101FF21
    121234F1
    F2F11F21
    12111121
    1100012F
    F21101F2
    12F10111
    8 8
    F1012210
    1101FF21
    121234F1
    F2FF1F21
    12111121
    1100012F
    F21101F2
    12F10111
    
    예상 출력
    Well done Clark!
    Please sweep the mine again!