주사위 굴리기
그래서 나는 얼마 전에 주사위를 굴려 도전을 생각했습니다.
입력에서 얻은 그물과 이동 목록이있는 큐브가 주어지면 끝에있는 바닥에서 사각형을 찾으십시오.
이 이미지를 예제로 사용하겠습니다.
입력
당신은 움직임의 목록과 문자열을합니다. 문자열에는 대문자 ASCII 문자 N, S, W 및 E 만 포함됩니다. 이는 큐브를 한 단계 씩 해당 방향으로 롤링하는 것과 같습니다.
그림에서 하나의 N은 밑면을 6으로 만듭니다.이 이미지에서 북쪽은 카메라에서 멀고 남쪽은 향해 있고 동쪽은 오른쪽이며 서쪽은 왼쪽입니다.
1P 2P 3P 4P 5P 6P 형식의 문자열도 사용합니다. 여기서 각 P는 N, S, W, E, T 및 B의 위치입니다. T & B는 아래쪽과 위쪽입니다.
숫자는 그 숫자의 얼굴이고 문자는 얼굴이있는 위치를 나타냅니다. 명확하지 않은 경우, 그물은 항상 숫자로 정렬되므로 1P 2P 3P 4P 5P 6P, 절대 2B 1T 3N 4S 5W 6E.
이미지의 위치는 1S 2B 3E 4W 5T 6N입니다.
산출
프로그램은 하단을 나타내는 숫자를 출력해야합니다.
테스트 사례
(nothing), 1S 2B 3E 4W 5T 6N -> 2
N, 1S 2B 3E 4W 5T 6N -> 6
NS, 1S 2B 3E 4W 5T 6N -> 2
NWS, 1S 2B 3E 4W 5T 6N -> 2
NWSNWS, 1S 2B 3E 4W 5T 6N -> 2
NWSS, 1S 2B 3E 4W 5T 6N -> 3
NNNNNN, 1S 2B 3E 4W 5T 6N -> 5
SNWEEWS, 1N 2T 3E 4W 5B 6S, 6
SNEEWS, 1N 2T 3W 4S 5B 6E, 4
다른 규칙
또한 큐브가 무한한 평면에 있다고 가정 할 수 있습니다.
찾을 수 없지만 표준 허점은 허용되지 않습니다.
유효하지 않은 입력의 경우, 코드는 묵시록 시작을 제외한 모든 작업을 수행 할 수 있습니다.
이 프로그램은 내 주사위에 맞아야하므로 가능한 작아야합니다. Folders 와 같은 언어의 경우를 제외하고 바이트 단위로 계산 합니다.
(nothing) -> 2
그물이 제공되지 않았거나 어딘가에 그물이 있어야 함을 의미합니까?