在某個遙遠的原始國度,一次的大地震將這個國家一分為二(造山運動隔開了兩邊之類的……不是那麼重要)。雖然當地的居民感到非常恐慌,但是日子還是要過、錢還是要賺、code也還是要打(啊說好的原始國度咧),所以兩邊的居民馬上就回到了日常生活的步調上,繼續發展各自的文明。
終於,過了2147483647天後,這座山因為一顆殞石墜落而被夷為平地(你問我他們的文明為甚麼沒有毀滅?還是你好奇隕石是怎麼把山夷為平地的?嗯,也不是那麼重要)。兩地的居民終於得以見到自己的祖先所遺留下來的文獻中,那「另一個世界」到底長得怎樣了。在這漫長的2147483647天中,兩地也發展出了不同的文明,想必統合起來是十分困難的。幸好他們發現,兩地發展出的記數制都剛好都是十進位制,所以兩地的科學家都希望可以和對方展開活絡的交流。
然而兩地的科學家發現一件很糟糕的事:他們寫數字的習慣有著極大的不同。一邊習慣從左寫到右,另一邊習慣從右寫到左。為了避免混淆,兩地的科學家達成一個共識:以後書寫的時候只使用奇回文數。所謂的奇回文數就是從左邊讀到右邊,跟從右邊讀到左邊的結果是一樣的,而且長度是奇數。而且他們將奇回文數由小排到大,第1個代表0、第2個代表1,以此類推,第n個奇回文數代表n-1。如此所有的正整數都可以表示了,而且不再會有歧義的問題。
然而將所有文件的數字做修改是一件大工程,因此科學家們前來拜託你,一個路人甲,幫助他們找出答案。
嗯?你問我為什麼那些科學家不自己搞定嗎?如果是這樣的話,你要怎麼拿到這題的分數呢?
本題的輸入只有一行,含一個整數$n\geq 0$。
子任務(測資) | 額外限制 | 分數 |
1 (0~4) | $n<1000$ | 23 |
2 (5~14) | 無限制 | 77 |
請輸出一行,含一個整數,表示代表$n$的奇回文數。保證答案長度(數字個數)在$10^ 7$以內。
(1) 前幾小的奇回文數為:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, ……
(2) 2147483647 = 231 - 1,這也是int可以儲存的最大數。你可以參考1544的參考資料。
Problem set / Description by Paupière
建國中學105學年度校內第二次模擬賽 pA
No. | Testdata Range | Score |
---|---|---|
1 | 0~4 | 23 |
2 | 5~14 | 77 |