題目連結:
給定一正整數 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.」。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。