쿼리도르
시간 제한2초메모리 제한512 MB
육각형 보드에서 세 명이 두는 쿼리도르 상황을 아스키 아트로 주면, A가 둘 수 있는 벽 배치 수를 셉니다. 모든 플레이어가 목표 칸까지 가는 길이 남아야 합니다.
문제
쿼리도르는 두 명 또는 네 명이 하는 전략 보드 게임이다. 게임은 정사각형 칸으로 이루어진 정사각형 판 위에서 진행된다. 각 플레이어는 말 하나와 벽 여러 개를 가지며, 벽의 길이는 칸 두 개의 변과 같다. 말은 칸 안에 서고, 벽은 칸과 칸 사이에 놓인다. 목표는 다른 모든 플레이어보다 먼저 자기 말을 판 건너편으로 옮기는 것이다. 말은 인접한 칸으로만 움직일 수 있고, 벽을 통과할 수 없다. 이동하려는 칸에 다른 플레이어의 말이 있으면, 그 칸을 건너뛰고 다음 인접한 칸으로 갈 수 있다. 벽끼리는 겹치거나 교차할 수 없지만 맞닿을 수는 있다. 벽은 모든 플레이어가 항상 판을 건널 방법이 남도록 놓아야 한다. 어떤 플레이어가 게임을 끝내지 못하도록 막는 벽은 놓을 수 없다.
세 명이 하는 새로운 버전의 게임이다. 판은 육각형이고 칸도 육각형이다. 플레이어들의 말은 서로 이웃하지 않는 판의 세 꼭짓점에서 출발한다. 각 플레이어의 목표는 반대편 꼭짓점에 도착하는 것이다. 이 판의 벽도 길이가 칸의 두 변이지만, 새로운 칸 모양 때문에 구부러져 있다. 벽의 어느 부분도 판의 가장자리를 따라 놓일 수 없다. 게임이 진행되는 예는 다음과 같다.

대문자는 플레이어의 말이고, 소문자는 각 플레이어의 목표다.
이제 플레이어 A가 움직일 차례다. A는 아직 말을 움직이고 싶지 않아서, 판에 벽을 놓는 모든 방법을 살펴본다. 이러한 벽 배치는 모두 몇 가지인가?
입력
입력의 첫 줄에는 정육각형 판 한 변의 칸 수 n이 주어진다. 이때 이다.
나머지 줄은 현재 게임 상황을 아스키 아트로 나타낸다. 판 설명의 줄 수는 이고, 모든 줄의 길이는 같다. 칸의 경계선은 \, /, 공백 문자로 그린다. 벽은 칸 경계 자리에 문자 @로 표시한다. 대문자 A, B, C는 플레이어의 말을, 소문자 a, b, c는 그 플레이어의 목표를 나타낸다. 여섯 문자는 각각 판에 정확히 한 번씩 나타나며, 소문자는 게임 규칙에 따라 놓여 있다.
판 설명의 나머지 문자는 모두 공백이다. 대부분의 줄은 공백으로 시작하고 끝나지만 모든 줄이 그런 것은 아니다. 각 줄에는 공백이 아닌 문자가 적어도 하나 들어 있다.
출력
한 줄에 정수 하나를 출력한다. 이 값은 플레이어 A가 판에 벽을 놓는 방법의 수이다.
힌트
첫 번째 예제에서는 가장자리 칸 여섯 개 각각에 인접한 사용 가능한 위치 두 곳과, 가운데 칸에 인접한 사용 가능한 위치 여섯 곳에 벽을 놓을 수 있다. 따라서 총 가지이다.
두 번째 예제는 어디에 벽을 놓아도 일부 플레이어가 이기지 못하게 막게 되는 상황이다.
