| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 104 | 22 | 20 | 33.333% |
아티초크는 오목 AI 토너먼트 대회인 Gomocup에 참여하려고 한다. 아티초크가 참여하려고 하는 부문은 Renju 부문으로, 렌주룰을 기반으로 진행된다.
렌주룰은 선 플레이어의 이점을 줄이기 위해 흑돌의 수를 제한하는 금수 규정을 두었는데, 자세한 내용은 다음과 같다.
아티초크는 AI에게 금수 판정을 학습시키는 것을 최우선 과제로 삼았고, 학습을 위해 대량의 기보 데이터를 준비했다. 하지만 구현에 약한 아티초크는 금수 판정 로직을 구현하지 못하여, 준비한 데이터에 라벨이 잘 부여됐는지 판단할 수 없었다. 아티초크를 위해 데이터가 올바른지 대신 검증해 보자.
처음 15줄에는 15개의 알파벳으로 기보 데이터, 즉 오목판의 상태가 주어진다. 검은 오목알이 놓인 자리는 B, 흰 오목알이 놓인 자리는 W, 오목알이 놓이지 않은 자리는 X로 표시되며, 각 알파벳은 붙어서 입력으로 주어진다. 이때, 주어진 오목판에는 장목과 오목이 존재하지 않음이 보장된다.
16번째 줄에는 금수를 판정할 위치를 나타내는 두 정수 $x, y (1 \le x, y \le 15)$가 주어진다. 이는 x행 y열에 흑돌을 두었을 때 금수가 되는지 여부를 판정해야 함을 의미한다.
17번째 줄에는 데이터의 라벨이 입력으로 하여 출력한 결과가 주어진다. 장목금수 데이터는 6, 44금수 데이터는 44, 33금수 데이터는 33, 금수가 아닌 데이터는 X가 입력으로 주어진다. 이때, 라벨의 우선순위는 장목금수, 44금수, 33금수 순으로 높으며, 16번째 줄에서 주어진 자리가 여러 종류의 금수 조건을 충족하는 경우, 그중 우선순위가 가장 높은 라벨을 부여하는 것을 원칙으로 한다.
데이터가 올바르다면 AC를, 올바르지 않다면 WA를 출력한다.
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXBXXXXX XXXXBXXWWXXXXXX XXXXXWBBWXXXXXX XXXXXXWBWWXXXXX XXXXXXXBXXBXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 10 9 33
AC
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXWBWWWBXXXXX XXXXXXBBXXXXXXX XXXXXXWXWWXXXXX XXXXXXWBBXXXXXX XXXXXXXBBXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 9 8 44
AC
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXBXXXXXXXXXX XXXXXWXXXWXXXXX XXXXBWXXBXXXXXX XXXXWXBWWXXXXXX XXXBXBWBWXXXXXX XXXXWWXBWBXXXXX XXBBBWBBBWXXXXX XXBBWWBWBBBXXXX XBWWXBWXXWXXXXX XXBWXBBWWWXXXXX XBWWWWBWBWXXXXX XWXWXBXBXWXXXXX XXXBXXXXXBXXXXX 11 5 6
AC
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXWXWXXXX XXXXBWBBXXXXXXX XXXXXWXBXXWXXXX XXXXXXBWXXXXXXX XXXXXXXBXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 8 9 X
AC
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXWXXXXXXXX XXXXXXWWBWXXXXX XXXXXXWBWBXXXXX XXXXXXXBXBXXXXX XXXXXXWBXXXXXXX XXXXXXBXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 8 7 33
WA
대각선 3은 열린 3이 맞으나, 가로 3의 경우 8행 7열에 흑돌을 두게 되면 8행 9열이 44금수가 되어, 돌 하나를 추가해서 열린 4를 만들 수 없게 되므로, 열린 3이 아니다. 따라서 8행 7열에 흑돌을 둠으로써 생기는 열린 3은 총 1개이며, 해당 자리는 금수가 아니다.
이렇게 33금수와 유사한 형태를 하고 있지만, 실제로는 33금수가 아닌 경우를 "거짓금수" 라고 한다.
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXWXXXXXXXXX XXXXXBBXXWWXXXX XXXXXXXXBXXXXXW XXXXWXBBXXXXWBX XXXXWXWBWBBWBXX XXXXXXBXWXWXXXX XXXXXXXXXBBWXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 7 9 X
WA
대각선 3은 열린 3이고, 가로 3 또한 7행 9열에 흑돌을 놓으면 7행 10열이 거짓금수가 되어 흑돌을 하나 더 놓아 열린 4를 만들 수 있게 되므로, 이 또한 열린 3이다. 따라서, 7행 9열에 흑돌을 둠으로써 생기는 열린 3은 총 2개이며, 해당 자리는 33금수이다.
XXXXXWXXXXXXXXX XXXXXBXXXXXXXXX XXXXXBWXXXXXXXX XBXXWBWBXXXXXXX XXWWBBXWBXXXXXX XXWWBWBWWWBXXXX XWBBWXXBBWWXXXX BXBWXXWBWBBBWXX XWBXXXBWXWBWBXX XBWXXBBXBBBWXXX WXWXWWBWWWWBWXX XXXBXBBWBWWWBXX XXXXBXWBBWBXBWX XXXBXXXXXXXXXXX XXWXXXXXXXXXXXX 10 8 6
WA
10행 8열은 5목이 완성되는 자리이므로, 해당 수로 인해 장목금수의 조건이 충족되더라도 장목금수로 인정되지 않는다.
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXWXXXWXXX XXXXXXWBXXXBXXX XXXXXXWBWXWBXXX XXXXXXXBWBWBWXX XXXXXXXBWBWBWXX XXXXXXXXBXBXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 9 10 33
WA
세로 3은 열린 3이 맞으나, 가로 3의 경우 9행 10열에 흑돌을 두었을 때, 9행 8열과 9행 12열 모두 5목이 완성되는 자리이므로, 해당 수로 인해 열린 4의 조건이 충족되더라도, 열린 4가 만들어지지 않는 것으로 본다. 따라서 가로 3은 열린 3이 아니며, 9행 10열에 흑돌을 둠으로써 생기는 열린 3은 총 1개이므로 해당 자리는 33금수가 아니다.
XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXWXBWBXXXXXX XXXXWWBBWXXXXXX XXXXXBXBBWXXXXX XXXXWBBXXWBXXXX XXXXBXWWXXXXXXX XXXBXXXXXXXXXXX XXWXXXXWXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 9 7 44
WA
주어진 자리는 장목금수 조건과 44금수 조건을 모두 충족하지만, 장목금수가 44금수보다 더 높은 우선순위를 가지므로 해당 자리를 장목금수로 보고 "6" 라벨을 부여해야 한다. 하지만 AI는 44금수를 의미하는 "44" 라벨을 부여했으므로, 해당 데이터는 올바르지 않다.
Contest > BOJ User Contest > 유틸컵 > 제1회 유틸컵 - Chapter 1 G번