Tic-Tac-Toe-Tomek (큰 입력)

와일드카드 T가 있는 4x4 틱택토 판에서 X 승리, O 승리, 무승부, 미완료 중 상태를 판정합니다.

쉬움2구현완전 탐색행렬면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

틱택토 토멕은 4 x 4 판에서 두 사람이 하는 게임이다. 게임을 시작할 때 판은 비어 있지만, 16칸 가운데 한 칸에 'T' 기호가 놓여 있을 수도 있다. 두 사람은 각각 X와 O이고, X가 먼저 둔 다음 번갈아 가며 빈 칸 하나에 자기 기호를 놓는다. X의 기호는 'X', O의 기호는 'O'이다.

한 사람이 기호를 놓은 뒤에 가로줄, 세로줄, 대각선 가운데 하나가 그 사람의 기호 4개로 채워졌거나 그 사람의 기호 3개와 'T' 하나로 채워졌으면 그 사람이 이기고 게임이 끝난다. 그렇지 않으면 상대가 이어서 둔다. 판이 전부 채워졌는데 아무도 이기지 못했으면 무승부로 끝난다.

'X', 'O', 'T', '.' 로 이루어진 4 x 4 판 하나가 주어진다. '.' 은 빈 칸을 뜻한다. 이 판이 나타내는 게임의 상태를 판정하는 프로그램을 작성하시오. 상태는 다음 네 가지 중 하나이다.

  • "X won": 게임이 끝났고 X가 이겼다.
  • "O won": 게임이 끝났고 O가 이겼다.
  • "Draw": 게임이 끝났고 무승부다.
  • "Game has not completed": 게임이 아직 끝나지 않았다.

빈 칸이 남아 있고 아직 승부가 나지 않았다면, 결과가 뻔히 보이는 판이더라도 "Game has not completed"로 판정한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 네 줄이고, 각 줄은 'X', 'O', 'T', '.' 중 한 문자씩 네 개로 이루어진다. 테스트 케이스마다 그 뒤에 빈 줄이 하나씩 있으며, 마지막 테스트 케이스 뒤에도 빈 줄이 있다.

  • 주어지는 판은 위에서 설명한 규칙대로 게임을 진행해서 실제로 나올 수 있는 상태다.
  • 1T10001 \le T \le 1000

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 위에 적힌 네 가지 상태 문자열 중 하나다. 상태 문자열은 대소문자와 띄어쓰기까지 그대로 출력해야 한다. "O won"의 첫 글자는 숫자 0이 아니라 알파벳 대문자 O이다.

힌트

'T'는 판 전체에 많아야 한 개 있고, 게임을 시작하기 전부터 그 자리에 있다. 'T'는 X의 기호 역할도 하고 O의 기호 역할도 하므로, 같은 줄에 놓인 어느 쪽 기호 3개와 함께 승리를 만든다.