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

#6348

Clever Cell Choices 6s 1024MB

문제

두 명의 플레이어가 N * M 그리드에서 아래 게임을 플레이합니다.

  • 처음에는 그리드의 각 셀이 비어 있거나 채워져 있습니다.

  • 플레이어는 빈 셀에 돌을 놓고 셀을 점유하는 방식으로 차례대로 진행합니다. 각 새 돌은 마지막으로 놓은 돌과 인접해야 하며, 시작 돌은 빈 셀에 모두 놓을 수 있습니다. 돌은 한 면을 공유하는 두 셀에 위치하면 다른 돌과 인접합니다.

  • 게임은 플레이어가 위의 규칙에 따라 돌을 놓을 수 없을 때마다 끝납니다. 그런 경우, 돌을 놓을 수 없는 플레이어는 게임에서 지고 다른 플레이어가 승리합니다.

승리하는 시작 셀은 두 플레이어가 모두 최적의 플레이를 한다고 가정할 때, 첫 번째 플레이어가 시작 돌을 놓으면 게임에서 승리하는 셀입니다. 초기 그리드에 대한 설명이 주어지면 승리하는 시작 셀이 몇 개인지 구하시오.


입력

첫 번째 줄에는 두 개의 정수가 NM이 주어집니다. ( 1 ≤ N, M ≤ 50 ) 이는 격자의 크기를 나타냅니다.

다음의 각각 N줄에는 M길이의 문자열이 포함되어 있습니다. i번째 문자열의 j번째 문자는 (i, j)셀의 초기 상태를 설명합니다. 문자는 빈 셀을 나타내는 “.” (점)이거나, 채워진 셀을 나타내는 "#"(해시)입니다.


출력

승리한 시작 셀의 개수를 나타내는 정수를 한 줄에 출력합니다.


예제 #1

3 3
#.#
...
#.#
4

예제 #2

3 3
..#
...
...
0

예제 #3

1 4
...#
2

출처

The 2024 ICPC Latin America Championship C번

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