前往
大廳
主題

ZeroJudge - f442: 老鷹抓小雞 Eagle 解題心得

Not In My Back Yard | 2020-12-04 00:00:08 | 巴幣 0 | 人氣 286

題目連結:


題目大意:
現在有一些人在玩「老鷹抓小雞」這個遊戲,有一人擔任老鷹、一人是母雞、剩下的人為小雞。老鷹要試圖抓到小雞,而母雞要試圖保護身後的小雞。被抓到的小雞會變成老鷹,而老鷹會變成小雞並取代剛剛那隻被抓到的小雞隻位置。

輸入第一列給定一正整數 N (2 ≦ N ≦ 2000),代表有 N 隻小雞。接著的一列給定 N 個正整數(皆介於 1 ~ 10000 之間),代表擔任其中一隻小雞的人之編號。接著一列給定一正整數 E ,代表擔任老鷹的人之編號。再來有一列給定一正整數 Q (1 ≦ Q ≦ 200),代表有玩了 Q 回合。最後一列給定 Q 個正整數,代表每回合被抓到的小雞之編號。

經過 Q 回合後,請輸出最後每隻小雞的編號是多少。



範例輸入:
範例輸入 #1
2
13 35
5
1
35

範例輸入 #2
5
54 88 9 21 27
76
3
88 9 21

範例輸入 #3
7
90 91 92 93 94 95 96
75
5
93 95 96 75 93


範例輸出:
範例輸出 #1
13 5

範例輸出 #2
54 76 88 9 27

範例輸出 #3
90 91 92 96 94 75 95


解題思維:
模擬每個回合即可。

將小雞的編號存成一陣列 C。每回合結束時,有一隻小雞會被抓到,其編號定為 K 。

因為該隻小雞的身分要與老鷹互換,所以我們掃過陣列 C ,一旦找到有小雞的編號等於 K ,即將該隻小雞編號並更為 E,同時將老鷹的編號 E 變為 K 之值。

最後做完 Q 回合後,輸出 C 的內容即可。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作