ETH官方钱包

切換
舊版
前往
大廳
主題

ZeroJudge - e546: 12650 - Dangerous Dive 解題心得

Not In My Back Yard | 2019-11-28 11:40:32 | 巴幣 0 | 人氣 402

題目連結:


題目大意:
給定兩整數 N 、 R (1 ≦ R ≦ N ≦ 10000),代表出發隊員有 N 名(編號為 1 ~ N)、回來的有 R 名。第二列有 R 個正整數,代表回來的隊員之編號。

請由小到大輸出那些沒有回來的隊員之編號。如果全部隊員都有回來,則輸出「*」。


範例輸入:
5 3
3 1 5
6 6
6 1 3 2 5 4


範例輸出:
2 4
*


解題思維:
直接開大小為 N + 1 的布林值(Boolean)陣列,全部先初始化成假(False)。第二列遇到哪個數字,就將陣列中相應位置設為真(True),代表該編號的隊員回來了。

最後,掃過一次陣列 1 ~ N 的位置,沒回來的(也就是儲存值為假的)那些編號就輸出。如果 R = N ,那麼就直接輸出「*」即可。

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

作者相關創作

更多創作