페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2768

체커게임 1s 32MB

문제

체커 게임은 10 × 10 격자판을 이용하여 두 사람이 할 수 있는 게임이다. 게임 판은 체스판과 같이 회색과 흰색이 번갈아 칠해진 모습이다(아래 그림 참조). 모든 말은 회색으로만 움직일 수 있으므로 대각선으로만 이동이 가능하다. 두 사람은 각각 흰색 말과 검은 색 말을 가지고 게임을 하게 되는데 대각선으로 인접한 곳에 상대의 말이 있고 그 말을 건너뛰어 갈 수 있는 경우(건너뛴 곳이 비어 있고 게임 판 내부이어야 한다.) 게임 판으로부터 상대의 말을 제거할 수 있다. 한 번 건너뛰었는데 또 다시 건너 뛸 수 있는 경우 연속하여 상대 말을 잡을 수 있다. 두 상대는 자기 차례가 왔을 때 자신의 말이 여러 개인 경우 그 중 하나를 선택하여 게임을 한다.

예를 들어 아래 그림은 흰색 차례에서 검은 말을 연속하여 두 개 잡는 예이다.

게임이 진행 중이고 흰색 말을 가진 사람이 뛸 차례이다. 게임 판의 정보를 입력받아 흰색 말을 가진 사람이 잡을 수 있는 검은 말의 최대개수를 출력하는 프로그램을 작성하시오. 흰색 말을 가진 선수는 자신의 말 중에 하나를 선택하여 뛴다.


입력

10행 10열에 게임 판의 정보가 입력된다. 보드에서 ‘#’은 회색, ‘.’은 흰색을 나타낸다. 검은 말을 ‘B'로 흰 말은 ’W'로 표시된다.


출력

흰말을 가진 선수가 자신의 말 하나를 선택하여 잡을 수 있는 검은말의 최대 개수를 출력하시오.


예제 #1

.#.#.#.#.#

#.#.#.#.#.
.#.#.B.#.#
#.#.#.#.#.
.#.#.B.#.#
#.#.W.#.#.
.#.#.#.#.#
#.#.#.B.#.
.#.#.#.#.#
#.#.#.#.#.
2

예제 #2

.#.#.#.#.#

#.#.#.#.#.
.#.#.B.#.#
#.B.#.B.#.
.#.#.B.#.#
#.B.W.#.#.
.#.B.B.#.#
#.#.#.#.#.
.#.B.B.#.#
#.#.#.#.#.
4

출처

CERC2013
로그인해야 코드를 작성할 수 있어요.