【問題描述】
2023年春節期間,有乙個特殊的日期引起了大家的注意:2023年2月2日。因為如果將這個日期按「yyyymmdd」的格式寫成乙個8位數是20200202,恰好是乙個回文數。我們稱這樣的日期是回文日期。有人表示20200202是「千年一遇」的特殊日子。對此小明很不認同,因為不到2年之後就是下乙個回文日期:20211202即2023年12月2日。也有人表示20200202並不僅僅是乙個回文日期,還是乙個ababbaba型的回文日期。對此小明也不認同,因為大約100年後就能遇到下乙個ababbaba型的回文日期:21211212即2023年12月12日。算不上「千年一遇」,頂多算「千年兩遇」。給定乙個8位數的日期,請你計算該日期之後下乙個回文日期和下乙個ababbaba型的回文日期各是哪一天。
【輸入格式】
輸入包含乙個八位整數n,表示日期。
【輸出格式】
輸出兩行,每行1個八位數。第一行表示下乙個回文日期,第二行表示下乙個ababbaba型的回文日期。
【樣例輸入】
20200202
【樣例輸出】
20211202
21211212
【評測用例規模與約定】
對於所有評測用例,10000101 <= n <= 89991231,保證n是乙個合法日期的8位數表示。
題解注意:
從後一天開始判斷
日期的限制;平年閏年的判定。
#include
#include
#include
using
namespace std;
int m[13]
=;bool
isyear
(int year)
bool
judgedate
(int year,
int month,
int day)
//日期特判:閏年的二月份if(
isyear
(year)
&& month ==2)
//日期判斷
return day <= m[month];}
intmain()
int year = a[0]
*1000
+a[1]*
100+a[2]
*10+a[3];
int month = a[4]
*10+a[5];
int day = a[6]
*10+a[7];
if(!judgedate
(year,month,day)
)//回文
if(a[0]
== a[7]
&& a[1]
== a[6]
&&a[2]
== a[5]
&&a[3]
== a[4]
)//abab形式
if(a[0]
== a[2]
&& a[1]
== a[3]
&& a[0]
!=a[1]
)}}return0;
}
誰先倒 19物聯網張春
划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。下面給出甲 乙兩人的酒量 最多能喝多少杯不倒 和划拳記錄,請你判斷...
馬的遍歷 19物聯網張春
題目描述 有乙個n m的棋盤 1一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入輸出樣例 輸入 1 3 3 1 1輸出 1 0 3 2 3 1 1 2 1 4 include include include inc...
7 2 詞典 15分 19物聯網張春
7 2 詞典 15分 你剛從滑鐵盧搬到了乙個大城市,這裡的人們講一種難以理解的外語方言。幸運的是,你有一本字典來幫助你理解它們。輸入格式 輸入第一行是正整數n和m,後面是n行字典條目 最多10000條 然後是m行要翻譯的外語單詞 最多10000個 每乙個字典條目都包含乙個英語單詞,後面跟著乙個空格和...