Connect3
시간 제한0.5초메모리 제한512 MB
흑의 첫 수 열 x와 백의 마지막 착수 칸 (a,b)가 주어질 때, 그 수로 백이 처음으로 세 개를 잇는 최종 4x4 보드 상태의 수를 센다.
문제
Connect3은 Connect4를 단순하게 바꾼 게임이다. 검은 돌을 쥔 사람과 흰 돌을 쥔 사람이 번갈아 판에 자기 색 돌을 놓는다. 각 칸은 로 쓰고, 는 행, 는 열이다. 왼쪽 아래 칸이 이고 오른쪽 위 칸이 이다.
자기 차례가 되면 열을 하나 고르고, 돌은 그 열에서 가장 아래에 있는 빈 칸에 놓인다. 예를 들어 은 과 이 이미 차 있을 때만 놓을 수 있다.
Connect3의 판이다. 각 칸은 행 와 열 를 써서 로 나타낸다.
같은 색 돌 세 개가 가로, 세로, 대각선 중 한 방향으로 연이어 놓이는 순간 게임이 끝나고 그 색을 쥔 사람이 이긴다. 그런 세 개가 없는 동안에는 게임이 이어진다.
검은 돌이 먼저 에 놓이고, 그다음부터 흰 돌과 검은 돌이 번갈아 놓인다. 게임은 흰 돌이 에 놓이면서 끝난다. 즉 의 흰 돌이 흰 돌 세 개를 잇는 마지막 돌이다. 이때의 판을 라고 하자. 가능한 가 몇 가지인지 세어라. 돌을 놓은 순서는 상관없다. 모든 칸의 상태, 즉 검은 돌인지 흰 돌인지 빈 칸인지가 전부 같을 때만 두 판을 같은 판으로 본다. 이렇게 끝나는 게임이 하나도 없으면 답은 0이다.
입력
첫째 줄에 정수 ()가 주어진다. 검은 돌이 처음 놓이는 칸 의 열이다.
둘째 줄에 게임의 마지막 돌이 놓인 칸 를 나타내는 두 정수 와 (, )가 주어진다.
출력
마지막 판 로 가능한 경우의 수를 정수 하나로 출력한다.