만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

주사위 게임

면접 대비

시간 제한2초메모리 제한512 MB

요약
정해진 초기 방향에서 주사위를 굴리는 명령을 차례로 수행한 뒤 마지막에 윗면에 나오는 숫자를 출력한다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현, 수학
정답자
아직 제출이 없습니다

문제

인생은 녹록지 않다. 때로는 어쩔 수 없는 일도 생긴다. 이제 ACM ICPC의 참가자로서, 여러분은 인생의 쓴맛을 맛보고 있을지도 모른다. 하지만 걱정하지 마라! 인생의 어두운 면만 보지 말고 밝은 면도 보아라. 인생은 주사위를 던지는 것처럼 즐거운 운의 게임일 수도 있다. 죽느냐 사느냐! 그러다 보면 마침내 승리로 가는 길을 찾을 수 있을지도 모른다.

이 문제는 주사위를 사용하는 게임에서 나왔다. 그런데 주사위(die)를 아는가? "death"와는 아무 상관이 없다. 주사위는 여섯 면을 가진 정육면체로, 각 면에는 1부터 6까지 서로 다른 숫자가 하나씩 대응하며 그 숫자만큼의 점이 찍혀 있다. 보통 한 쌍으로 쓰이기 때문에 "a die"라는 단어는 좀처럼 쓰이지 않는다. 그래도 "the die is cast"라는 유명한 표현은 들어본 적이 있을 것이다.

게임이 시작되면 주사위는 평평한 탁자 위에 가만히 놓여 있다. 게임이 진행되는 동안 딜러가 주사위를 사방으로 굴린다. 주사위가 멈추는 순간 윗면에 보이는 숫자를 맞히면 승리한다.

이제 여러분은 주사위 굴리기를 시뮬레이션하는 프로그램을 작성해야 한다. 단순화를 위해 주사위는 미끄러지거나 튀지 않고 탁자 위에서 북, 동, 남, 서 네 방향으로만 구른다고 가정한다. 모든 게임이 시작될 때 딜러는 주사위를 탁자 중앙에 놓고, 윗면, 북쪽 면, 서쪽 면에 각각 1, 2, 3이 보이도록 방향을 맞춘다. 나머지 세 면에 대해서는 명시적으로 알려주지 않고 다음 황금률만 알려준다. 서로 마주 보는 두 면의 숫자 합은 항상 7이다.

프로그램은 일련의 명령을 받아야 하며, 각 명령은 "north", "east", "south", "west" 중 하나다. "north" 명령은 주사위를 북쪽으로 굴려서, 윗면이 새 북쪽 면이 되고 북쪽 면이 새 바닥면이 되는 식으로 만든다. 더 정확히 말하면 주사위를 북쪽 아래 모서리를 축으로 북쪽 방향으로 90도 회전시킨다. 다른 명령도 각자 방향에 맞게 주사위를 굴린다. 프로그램은 명령을 순서대로 수행한 뒤 마지막에 윗면에 보이는 숫자를 계산해야 한다. 탁자는 충분히 넓어서 게임 중에 주사위가 떨어지는 일은 없다.

입력

입력은 하나 이상의 명령 시퀀스로 이루어지며, 각 시퀀스는 한 게임에 대응한다. 명령 시퀀스의 첫 줄에는 뒤따르는 명령 줄의 개수를 나타내는 양의 정수가 주어진다. 이 수는 1024 이하라고 가정해도 된다. 0이 들어 있는 줄은 입력의 끝을 나타낸다. 각 명령 줄에는 north, east, south, west 중 하나인 명령이 들어 있다. 어느 줄에도 공백 문자는 나타나지 않는다고 가정해도 된다.

출력

각 명령 시퀀스마다 게임이 끝난 순간 윗면에 있는 숫자 하나만을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    1
    north
    3
    north
    east
    south
    0
    
    예상 출력
    5
    1