아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

틱택토

면접 대비

시간 제한5초메모리 제한512 MB

요약
3x3 틱택토 판이 주어질 때, 규칙상 불가능한지, 최선의 플레이로는 도달할 수 없는지, 두 완벽한 플레이어가 만들 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
게임 이론, 시뮬레이션, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

고고학자들이 고대 점토판을 발견했는데, 그 위에는 틱택토 게임이 새겨져 있었다.

틱택토는 두 명의 플레이어 'O'와 'X'가 번갈아 가며 3×33 \times 3 격자의 칸을 채우는 종이와 연필 게임이다. 가로, 세로, 대각선 중 한 줄에 자신의 표시를 세 개 연속으로 놓은 플레이어가 승리한다.

Byteozavodsk 국립 역사 박물관의 직원인 당신은 이 게임 상태가 두 명의 뛰어난 플레이어에 의해 만들어질 수 있었는지 판정해야 한다.

입력

입력의 첫째 줄에는 테스트 케이스의 수를 나타내는 양의 정수 tt가 하나 주어진다. 테스트 케이스의 설명이 이어진다.

각 테스트 케이스는 세 줄로 이루어지며, 각 줄에는 세 문자가 있다. ii번째 줄의 jj번째 문자는 점토판의 ii번째 행 jj번째 칸의 상태를 나타낸다. 가능한 값은 세 가지이다.

  • "."은 빈 칸을 나타낸다.
  • "O"(큰 "o")는 첫 번째 플레이어가 표시한 칸을 나타낸다.
  • "X"는 두 번째 플레이어가 표시한 칸을 나타낸다.

각 테스트 케이스 앞에는 빈 줄이 하나씩 온다.

출력

각 테스트 케이스마다 한 줄에 한 단어를 출력한다. 번갈아 두는 유효한 수의 나열로 이 게임 상태에 도달할 수 없으면 "INVALID", 도달할 수 있지만 두 플레이어 중 적어도 한 명이 뛰어나지 않은 경우에만 가능하면 "UNREACHABLE", 그렇지 않으면 "REACHABLE"을 출력한다.

힌트

가능하다면, 뛰어난 플레이어는 상대가 이후 어떻게 두더라도 자신이 이길 수 있게 만드는 수를 항상 둔다. 그것이 불가능하면 무승부로 이끄는 수를 둔다. 최악의 경우에는 아무 수나 둔다.

예제1

  1. 예제 1

    입력
    3
    
    ...
    .X.
    ...
    
    ...
    .OX
    ...
    
    ...
    .O.
    ..X
    
    예상 출력
    INVALID
    UNREACHABLE
    REACHABLE