e525: 106 彰雲嘉區複賽 - Q5 回文日期問題
Tags : 106學年度 小崴 彰雲嘉 複賽 資訊學科能力
Accepted rate : 24人/24人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2019-10-29 09:18

Content

五、回文日期問題 ( 15分 )

   

    回文數(或迴文數)是指一個像16461這樣對稱的數,即將這個數的數字按相反的順序重新排列後,所得到的數和原來的數一樣。這裡,「回文」是指正讀反讀都相同的單詞或句子。 

    日期的表示中包含年、月、日三部分,假設年以西元曆法表示固定為四位數字,月數與日期數部分若為小於10 (介於1到9之整數)則可以採用刪除或不刪除前導0的方式表示為1到9或01到09。例如,2017年1月2日可以表示為 201712, 2017012, 2017102, 20170102四種數字。從給定一個數字來看,20111102代表2011年11月2日,只代表一個日期。但數字2017102 可以代表2017年10月2日或代表2017年1月2日。數字2011102 可以代表2011年10月2日或2011年1月2日 。

    設計一個程式,輸入四位數字代表西元年(介於1000到9999 之間),輸出該年度內所有可能產生回文數的日期與個數,不同日期所轉成的回文數雖相同但需要分別計算。例如2017102 可以代表2017年10月2日或代表2017年1月2日算兩次。此問題中,需要考慮閏年的影響,閏年定義為西元年份可以被4整除但不能被100整除則為閏年。若西元年份可以被100 整除(例如 1900)則必須同時被 400 整除才是閏年 (如2000)。

 

* 測資均為官方測資

* 為模擬正式競賽,WA 時 不公開正確答案!

* 加油~ !

Input

輸入資料中第一列為一整數n,代表接下來有n組測試資料。

每組測試為一個介於1000與9999之間的數字。

Output

輸出該年度回文日期的個數與所有回文日期(包含重複的回文日期,重複兩次須印出兩個),回文日期由小至大依序列出,各資料間以一個空格分開。

Sample Input #1
5
1111 
1201
2017
1340
1010
Sample Output #1
4 111111 1111111 1111111 11111111
2 1201021 12011021
2 2017102 2017102
0
3 1010101 1010101 10100101
測資資訊:
記憶體限制: 512 MB
不公開 測資點#0 (33%): 1.0s , <1K
不公開 測資點#1 (33%): 1.0s , <1K
不公開 測資點#2 (34%): 1.0s , <1K
Hint :
Tags:
106學年度 小崴 彰雲嘉 複賽 資訊學科能力
出處:
106彰雲嘉資訊學科能力複賽 [管理者:
jackyname1@g... (☆♬○♩程式家小崴●♪✧♩)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」