Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MineSweeper

From ZeroWiki
Revision as of 05:23, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

원문보기


인기도:A(A,B,C), 성공률:높음(낮음,보통,높음), 레벨:1(1~4)

About MineSweeper

지뢰 찾기는 M X N 크기의 지뢰밭에서 모든 지뢰의 위치를 찾아내는 게임이다.

이 게임에서는 각 칸에 인접한 칸에 몇 개의 지뢰가 있는지를 보여준다. 각 칸에는 최대 여덟 개의 인접한 칸이 있을 수 있다. 아래쪽에 있는 4 X 4 지뢰밭에는 지뢰 두 개가 있으며 각각은 '*' 문자로 표시되어 있다.

*...
....
.*..
....

이 지뢰밭을 방금 설명한 힌트 숫자로 표기하면 아래쪽에 있는 것과 같은 필드가 만들어진다.

*100
2210
1*10
1110

Input

입력은 임의 개수의 지뢰밭으로 구성된다. 각 지뢰밭의 첫번째 줄에는 각각 행과 열의 개수를 나타내는 두 개의 정수 n과 m(0<n,m<=100)이 들어있다. 그 다음 줄부터는 n개의 줄에 걸쳐서 각 줄마다 정확하게 m개씩의 문자가 들어있으며 이는 지뢰밭을 나타낸다. 지뢰가 없는 칸은 '.'으로, 지뢰는 '*'로 표시되며 이때 따옴표는 쓰지 않는다. n=m=0인 줄은 입력이 끝났음을 나타내는 것의므로 그 줄은 처리하지 않는다.

output

각 지뢰밭에 대해 Field #x:라고 적혀있는 메시지를 출력한다. 이때 x는 필드 번호를 나타내며 1에서 시작한다. 그 다음 줄부터는 n개의 줄에 걸쳐서 '.'문자 대신 그 칸에 인접한 칸에 들어있는 지뢰의 개수를 출력한다. 각 지뢰밭에 대한 출력 사이에는 반드시 빈 줄이 하나씩 있어야 한다.

Sample Input

4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0

Sample Output

Field #1:
*100
2210
1*10
1110

Field #2:
**100
33200
1*100

풀이

작성자 사용언어 개발시간 코드
문보창 C++/Python 50분/40분 MineSweeper/문보창
이승한 Flash/java?? ? MineSweeper/이승한
황재선 Java ? MineSweeper/황재선
신재동 C++ 40분 MineSweeper/신재동
김회영 C++ ? MineSweeper/김회영
Leonardong Python 3시간 3분 MineSweeper/Leonardong
곽세환 C++ 30분+ MineSweeper/곽세환
김민경 Py MineSweeper/김민경
김태훈 [zyint] python MineSweeper/zyint
허아영 C++ 1시간 MineSweeper/허아영
김상섭 C++ 많이..ㅡㅜ MineSweeper/김상섭

쓰레드

오 난이도 높다 --강희경
이것도 방학 중에 하는 스터디 인가요? --윤성만
 AOI문제 중 하나지 --강희경
 

문제분류