Googlander (Small)
시간 제한5초메모리 제한512 MB
R행 C열 격자에서 직진이나 우회전으로만 걸으며 강제 이동을 따르다가 막힐 때까지 가능한 모든 경로 수를 셉니다.
문제
에릭 구글랜더는 행 열 격자 모양 무대 위를 걸어 다니며 공연하는 패션 모델이다. 맨 왼쪽 맨 아래 칸에서 무대의 위쪽 가장자리를 바라본 채 시작하고, 이동을 여러 번 하며 공연한다. 구글랜더가 아는 이동은 다음 두 가지뿐이다.
- 지금 바라보는 방향으로 한 칸 전진한다.
- 오른쪽으로 90도 회전한 다음, 회전한 뒤 바라보는 방향으로 한 칸 전진한다.
구글랜더는 왼쪽으로 90도 회전하는 법을 모른다.
어떤 이동이 구글랜더를 무대 밖으로 내보내거나 이미 지나온 칸으로 데려간다면, 그 이동은 촌스럽다. 두 이동이 모두 촌스럽지 않은 자리에서는 앞선 선택과 무관하게 둘 중 하나를 마음대로 고를 수 있지만, 반드시 하나를 골라야 한다. 한쪽만 촌스럽다면 반드시 나머지 하나를 해야 한다. 두 이동이 모두 촌스러워지는 순간 공연은 그 자리에서 끝나고 구글랜더는 더 움직이지 않는다. 구글랜더는 공연을 일찍 멈출 수 없고, 두 이동이 모두 촌스러워질 때까지 계속 움직여야 한다.
구글랜더가 걸을 수 있는 경로는 몇 가지인가? 두 경로는 같은 칸을 같은 순서로 지날 때만 같은 경로다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 다음 개의 줄에 두 정수 과 가 공백 하나로 구분되어 주어진다.
제한
- 답은 항상 32비트 부호 있는 정수 범위에 들어간다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 구글랜더가 걸을 수 있는 서로 다른 경로의 수이다.
힌트
, 이면 구글랜더는 어떤 이동도 할 수 없다. 유일한 경로는 시작 칸 하나로 이루어진 경로다.
, 이면 앞으로 한 칸 가는 이동은 무대 밖으로 나가므로 촌스럽고, 오른쪽으로 돌아 한 칸 가는 이동만 할 수 있다. 그렇게 움직이고 나면 오른쪽으로 돌아 전진하는 이동이 촌스러워지므로 앞으로 한 칸 전진한다. 그다음에는 두 이동이 모두 촌스러워 공연이 끝난다. 가능한 경로는 이 하나뿐이다.
, 일 때 가능한 경로는 다음 여섯 가지다.
