close
Content

"Life is not easy.",人生往往超出我們的掌握
現在,作為ACM ICPC的參賽者,您可能只是在品嚐生活的痛苦。
但是不用擔心!不要只看人生的黑暗面,也要看光明面。
人生可能是一種令人愉快的機會遊戲,例如擲骰子"Do or die!"。
說不定可以找到通往勝利的途徑!

此問題來自骰子遊戲。"Do you know a die?"
此處的"die"與死亡無關,而是指一般的立方體骰子,每個面代表一到六個不同的數字。
順帶一提,"a die"是一個很少使用的詞。不過,您可能會聽過一個名言:"the die is cast"

遊戲開始時,骰子會在平台上靜止不動。
在遊戲中,主持人將骰子向各個方向滾動。
如果您可以預測骰子停止滾動時在頂面上看到的數字,則您將贏得比賽。

現在,要求您編寫一個模擬骰子滾動的程式。
為簡單起見,我們假設骰子既不滑動也不跳躍,而只是在四個方向(東,南,西,北)上滾動。
在每局遊戲開始時,主持人將骰子放在桌子的中央並調整其方向,以便分別在頂面、北面、西面上看到數字1、2、3。
對於其他三個面,我們沒有明確指定任何內容,但會告訴您一條黃金法則:任何一對相對的面的數字總和始終為7。

您的程式應接受一系列指令,指令為東"east",南"south",西"west",北"north"。
例如"north"指令將骰子向下滾動到北,即頂面變為新的北,北變為新的底,依此類推。
其他指令也會根據自己的方向滾動骰子。
執行順序中的指令後,您的程式應計算最終顯示在頂部的數字。
請注意,桌子足夠大,骰子在遊戲中不會掉落或損壞。

Input

輸入第一行包含一個正整數n (n <= 1024),代表指令序列的數量。
如果n = 0代表輸入結束。
每個指令只包含東"east"、"south"、"west"、"north"。

Output

對於每個指令序列,在遊戲結束時輸出頂面上的數字。

Sample Input #1
1
north
3
north
east
south
0
Sample Output #1
5
1

就單純模擬而已,去想他每一個不走哪一些地方會被影響到

python:

while True:
    try:
        top=1
        button=7-top
        north=2
        south=7-north
        west=3
        east=7-west
        n=int(input())
        if n==0:break
        for _ in range(n):
            a=input().strip()
            if a=='east': #往東滾:東=上 ;上=西 ; 西=7-東 ;下=7-上
                east=top
                top=west
                west=7-east
                button=7-top
                
            elif  a=='west': #往西滾 底=西 ; 西=上 ; 上=7-底 ; 東=7-西
                button=west
                west=top
                top=7-button
                east=7-west
                
            elif  a=='north': #往北滾 底=北 ; 北=上 ; 上=7-底 ; 南=7-北
                button=north
                north=top
                top=7-button
                south=7-north
                
            else :#south #往南滾 南=上 ; 上=北 ; 北=7-南 ; 下=7-上
                south=top
                top=north
                north=7-south
                button=7-top
                
        print(top)
    except:
        break
arrow
arrow
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()