거북이 그래픽스
시간 제한1초메모리 제한256 MB
64 by 64 격자에서 앞으로 이동하고 회전하는 거북이를 시뮬레이션한 뒤 최종 위치와 두 번 이상 방문한 칸 수를 출력합니다.
문제
거북이 그래픽스는 아이들에게 프로그래밍을 가르칠 때 쓰는 방법이다. 바닥을 기어 다니는 로봇 거북이에게 명령을 입력해 움직이는 Logo 언어에서 나왔다. 명령 F(forward)를 입력하면 거북이가 바라보는 방향으로 한 칸 전진하고, R(right)를 입력하면 제자리에서 시계 방향으로 90도 회전하고, L(left)를 입력하면 제자리에서 반시계 방향으로 90도 회전한다.
거북이가 전진하면 지나간 칸에 자취가 남는다. 자취는 문자 x로 표시한다.
예를 들어 명령 FFFRFFFFLFFFRFFFFF는 아래 모양을 그린다.
y 10 .....................
9 .....................
8 .........xxxxxx......
7 .........x...........
6 .........x...........
5 .....xxxxx...........
4 .....x...............
3 .....x...............
2 .....o...............
1 .....................
0 .....................
012345678901234567890 x
거북이는 처음에 북쪽, 즉 가 커지는 방향을 보고 있고 출발 칸은 o로 표시했다. 그림 영역의 크기는 최대 이고 원점 은 왼쪽 아래 구석이다. 거북이가 지나는 경로는 그림 영역을 벗어나지 않는다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다 (). 각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에는 거북이가 출발하는 칸을 나타내는 두 정수 와 가 주어진다 (). 둘째 줄에는 길이가 128 이하인 문자열이 주어진다. 문자열의 각 문자는 F, R, L 중 하나이고, 거북이는 주어진 순서대로 명령을 실행한다.
출력
각 테스트 케이스마다 한 줄에 Case #X: x y n을 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 와 는 거북이의 최종 위치이며, 은 거북이가 두 번 이상 방문한 칸의 개수다. 출발 칸은 이미 한 번 방문한 것으로 세고, F 명령으로 어떤 칸에 도착할 때마다 그 칸의 방문 횟수가 1 늘어난다. R과 L은 위치를 바꾸지 않으므로 방문 횟수를 늘리지 않는다.