"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"指令將骰子向下滾動到北,即頂面變為新的北,北變為新的底,依此類推。
其他指令也會根據自己的方向滾動骰子。
執行順序中的指令後,您的程式應計算最終顯示在頂部的數字。
請注意,桌子足夠大,骰子在遊戲中不會掉落或損壞。
輸入第一行包含一個正整數n (n <= 1024),代表指令序列的數量。
如果n = 0代表輸入結束。
每個指令只包含東"east"、"south"、"west"、"north"。
對於每個指令序列,在遊戲結束時輸出頂面上的數字。
1 north 3 north east south 0
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