Judging Forbidden Moves

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

아티초크는 오목 AI 토너먼트 대회인 Gomocup에 참여하려고 한다. 아티초크가 참여하려고 하는 부문은 Renju 부문으로, 렌주룰을 기반으로 진행된다.

렌주룰은 선 플레이어의 이점을 줄이기 위해 흑돌의 수를 제한하는 금수 규정을 두었는데, 자세한 내용은 다음과 같다.

  • 렌주룰에서 흑은 장목, 44, 33을 둘 수 없다. 이 규칙으로 인해 둘 수 없게 된 자리를 각각 장목금수, 44금수, 33금수라고 한다.
  • 장목이란, 가로, 세로 또는 대각선의 일직선상에서 6개 이상의 돌이 나란히 붙어 있는 모양을 의미한다.
  • 44란, 흑이 한 수를 뒀을 때, 2개 이상의 4가 동시에 만들어지는 모양을 의미한다.
  • 4란, 다섯 칸의 범위 내에 같은 색의 돌이 4개 있고, 돌 하나를 더 붙여서 5목을 완성할 수 있는 자리가 한 군데 또는 두 군데 존재하는 모양을 의미하며, 4는 다시 열린4와 닫힌4로 나뉜다.
  • 5목이란, 가로, 세로 또는 대각선의 일직선상에서 정확히 5개의 돌이 나란히 붙어 있는 모양을 의미한다.
  • 열린4란, 돌 하나를 더 붙여서 5목을 완성할 수 있는 자리가 두 군데인 4를 의미한다.
  • 닫힌4란, 돌 하나를 더 붙여서 5목을 완성할 수 있는 자리가 한 군데인 4를 의미한다.
  • 33이란, 흑이 한 수를 뒀을 때, 2개 이상의 열린3이 동시에 만들어지는 모양을 의미한다.
  • 열린3이란, 돌 하나를 더 붙여서 열린4를 완성할 수 있는 모양을 의미한다.
  • 5목은 다른 어떤 것보다도 우선순위가 높아, 5목을 완성한 경우 즉시 해당 플레이어의 승리로 게임이 종료되며, 해당 수로 인해 열린3, 열린4, 금수 등의 조건이 충족되더라도 그것을 인정하지 않는다.

아티초크는 AI에게 금수 판정을 학습시키는 것을 최우선 과제로 삼았고, 학습을 위해 대량의 기보 데이터를 준비했다. 하지만 구현에 약한 아티초크는 금수 판정 로직을 구현하지 못하여, 준비한 데이터에 라벨이 잘 부여됐는지 판단할 수 없었다. 아티초크를 위해 데이터가 올바른지 대신 검증해 보자.

입력

처음 15줄에는 15개의 알파벳으로 기보 데이터, 즉 오목판의 상태가 주어진다. 검은 오목알이 놓인 자리는 B, 흰 오목알이 놓인 자리는 W, 오목알이 놓이지 않은 자리는 X로 표시되며, 각 알파벳은 붙어서 입력으로 주어진다. 이때, 주어진 오목판에는 장목과 오목이 존재하지 않음이 보장된다.

16번째 줄에는 금수를 판정할 위치를 나타내는 두 정수 x,y(1x,y15)x, y (1 \le x, y \le 15)가 주어진다. 이는 x행 y열에 흑돌을 두었을 때 금수가 되는지 여부를 판정해야 함을 의미한다.

17번째 줄에는 데이터의 라벨이 입력으로 하여 출력한 결과가 주어진다. 장목금수 데이터는 6, 44금수 데이터는 44, 33금수 데이터는 33, 금수가 아닌 데이터는 X가 입력으로 주어진다. 이때, 라벨의 우선순위는 장목금수, 44금수, 33금수 순으로 높으며, 16번째 줄에서 주어진 자리가 여러 종류의 금수 조건을 충족하는 경우, 그중 우선순위가 가장 높은 라벨을 부여하는 것을 원칙으로 한다.

출력

데이터가 올바르다면 AC를, 올바르지 않다면 WA를 출력한다.