APCS202001 第1題猜拳

作業上傳:http://203.68.236.9/problem/c0009

zerojudge題目:https://zerojudge.tw/ShowProblem?problemid=h026

幼稚園的絲絲很喜歡跟哥哥玩猜拳,因為這是他少數有機會贏哥哥的遊戲。每天只要一回家,絲絲就要哥哥陪他猜拳。

為了戰勝哥哥,絲絲每天在幼稚園時都會花好多時間研究出拳的策略,並將預計要出的拳寫在紙上

但是哥哥上了國中以後功課越來越多,沒有空先思考要出什麼拳,於是哥哥決定根據絲絲出的拳來決定該如何出拳。


每天哥哥只要決定第一次猜拳的狀況 F,接下來他的猜拳策略如下:


如果絲絲連續兩輪出了一樣的拳,下一輪他就會出打敗絲絲前兩輪的拳。

否則,他下一輪會出跟絲絲前一輪一樣的拳。

請你寫一個程式模擬兩人遊戲過程與結果。


輸入說明

第一行輸入哥哥第一輪要出的拳 F。

第二行輸入妹妹準備的數量 N。

第三行依序輸入妹妹準備出的拳 y1, y2 ... yN,以空格隔開。

測資範圍如下:

所有的出拳皆為 0, 2, 5(0指石頭,2指剪刀,5指布)

N≤10

本題包含三個子題組,每個子題組配分如下:

第 1 子題組共 20 分: N=1

第 2 子題組共 20 分: N=2,y1≠y2。

第 3 子題組共 60 分: 無額外限制。

輸出說明

輸出有一行,依序輸出哥哥每一回合猜的拳,以空格隔開。並在冒號後輸出第幾回合分出勝負。

若在第 k 輪時哥哥贏了,輸出 : Won at round k

若在第 k 輪時哥哥輸了,輸出 : Lost at round k

若比完 N 輪仍然平手,輸出 : Drew at round N


輸入範例1

0

4

2 5 0 2

輸出範例1

0 : Won at round 1


輸入範例2

2

2

2 0

輸出範例2

2 2 : Lost at round 2


輸入範例3

5

4

5 5 0 0

輸出範例3

5 5 2 : Lost at round 3


輸入範例4

5

6

5 5 2 2 0 0

輸出範例4

5 5 2 2 0 0 : Drew at round 6


解題策略

模擬