ETH官方钱包

切換
舊版
前往
大廳
主題

ZeroJudge - c096: 00700 - Date Bugs 解題心得

Not In My Back Yard | 2019-01-21 11:20:23 | 巴幣 0 | 人氣 200

題目連結:


題目大意:
給定一正整數 n (1 ≦ n ≦ 20),代表接著的 n 列代表 n 臺電腦的資訊。

每列會給定三個非負整數 y 、 a 、 b (0 ≦ a ≦ y < b < 10, 000)。 y 代表電腦顯示的年份, b 代表電腦會發生類似千禧蟲危機(Y2K,見維基頁面)的首個年份,而且會回到 a 年。

求現在最小的可能年份為何?若不存在小於 10, 000 的可能年份,輸出「Unknown bugs detected.」。輸出格式參見範例輸出。



範例輸入:
2
1941 1900 2000
2005 1904 2040
2
1998 1900 2000
1999 1900 2000
0



範例輸出:
Case #1:
The actual year is 2141.

Case #2:
Unknown bugs detected.



解題思維:
首先可以拿第一臺電腦的可能年份來作基礎,以範例輸入的第一筆為例:
可能年份為 1941 、 2041 、 2141 、 2241 、 ……
之後再以其餘電腦的可能年份,挑除掉沒出現於其他電腦上的年份:
第二臺電腦的可能年份 2005 、 2141 、 ……

因此,範例輸入第一筆最小的可能年份為 2141 年。如果到 10000 年內都不存在可能性,即輸出「Unknown bugs detected.」。

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

創作回應

心彩
我選擇用count 的方式記錄 count = n 就代表所有電腦吻合 就不用把第一臺電腦獨立出來
2023-04-18 09:49:28
Not In My Back Yard
2023-04-18 19:06:34
追蹤 創作集

作者相關創作

更多創作