큐빙
시간 제한1초메모리 제한128 MB
완성된 루빅스 큐브에서 주어진 회전을 모두 수행한 뒤 윗면의 색을 출력한다.
문제
루빅스 큐브는 3차원 퍼즐이다. 일반적인 루빅스 큐브는 3×3×3개의 작은 정육면체로 이루어져 있다. 퍼즐을 다 풀면 각 면을 이루는 9개의 작은 정육면체의 색이 모두 같아진다.
큐브의 각 면은 양방향으로 90도씩 돌릴 수 있다. 한 면을 다 돌린 뒤에는 다른 면을 돌릴 수 있으며, 이렇게 서로 다른 면을 번갈아 돌리면 색이 섞인다.
이 문제에서 큐브는 완전히 풀린 상태에서 시작한다. 이때 각 면의 색은 다음과 같다.
- 윗 면(U): 흰색
- 아랫 면(D): 노란색
- 앞 면(F): 빨간색
- 뒷 면(B): 오렌지색
- 왼쪽 면(L): 초록색
- 오른쪽 면(R): 파란색
큐브를 돌리는 방법이 순서대로 주어진다. 모든 회전을 마친 뒤 윗 면의 색상을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스는 최대 100개이다. 각 테스트 케이스는 다음과 같이 구성된다.
- 첫째 줄에 큐브를 돌린 횟수 이 주어진다. ()
- 둘째 줄에는 큐브를 돌린 방법이 공백으로 구분되어 주어진다. 각 방법은 두 글자로 이루어진다.
- 첫 번째 글자는 돌린 면을 나타낸다. U는 윗 면, D는 아랫 면, F는 앞 면, B는 뒷 면, L은 왼쪽 면, R은 오른쪽 면이다.
- 두 번째 글자는 돌린 방향을 나타낸다. +이면 그 면을 바라본 기준으로 시계 방향, -이면 반시계 방향이다.
출력
각 테스트 케이스마다 큐브를 모두 돌린 뒤 윗 면의 색상을 3줄로 출력한다. 첫째 줄에는 뒷 면과 접하는 칸의 색을, 둘째 줄과 셋째 줄에는 앞 면 쪽으로 가면서 순서대로 출력한다. 각 줄은 왼쪽 면과 접하는 칸부터 오른쪽 면과 접하는 칸까지 출력한다. 색은 다음과 같이 표기한다: 흰색 w, 노란색 y, 빨간색 r, 오렌지색 o, 초록색 g, 파란색 b.