Thwack!
시간 제한5초메모리 제한1024 MB
1차원 격자에 흑돌, 백돌, 빈 칸이 주어질 때, 두 사람이 최적으로 둘 경우 선공이 이기는 첫 수를 모두 구하는 문제입니다.
문제
Thwack은 게임 보드라고 부르는 1차원 칸 위에서 진행하는 게임이다. 각 칸에는 검은 돌이나 흰 돌이 있거나, 비어 있다.
두 플레이어가 번갈아 한 수씩 둔다. 한 수에서는 색이 서로 다른 인접한 돌 두 개를 고른 뒤, 그중 하나를 골라 다른 돌을 잡는다. 즉, 한 돌이 다른 돌의 자리로 이동하면서 그 돌을 제거한다. 자신의 차례인데 색이 다른 인접한 돌 쌍이 없으면 그 플레이어가 진다.
Thwack에는 기본 초기 배치가 없다. 칸에 돌을 어떤 배치로든 놓아 게임을 만들 수 있다.
주어진 초기 배치에서 두 플레이어가 최선을 다할 때 첫 번째 플레이어가 이기는 첫 수를 모두 나열하라.
입력
첫 줄에 게임 보드의 칸 수 ()이 주어진다.
둘째 줄에는 길이가 인 문자열이 주어진다. 문자열은 B, W, . 문자로만 이루어져 있다. B는 검은 돌, W는 흰 돌, .은 빈 칸을 나타낸다.
출력
첫 줄에 최선을 다할 때 첫 번째 플레이어가 이기는 첫 수의 개수 를 출력한다.
이어서 개의 줄에 두 정수 , (, )를 출력한다. 이는 첫 수에서 위치의 돌이 위치의 돌을 잡는다는 뜻이다.
줄은 사전순으로 출력한다. 1 이상 미만인 모든 에 대해 이거나, 이고 이어야 한다.