題目描述
小明正在整理一批歷史文獻。這些歷史文獻**現了很多日期。小明知道這些日期都在2023年1月1日至2023年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年/月/日的,有採用月/日/年的,還有採用日/月/年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日期與其對應。
比如02/03/04,可能是2023年03月04日、2023年02月03日或2023年03月02日。
給出乙個文獻上的日期,你能幫助小明判斷有哪些可能的日期對其對應嗎?
輸入乙個日期,格式是"aa/bb/cc"。 (0 <= a, b, c <= 9)
02/03/04
輸出輸出若干個不相同的日期,每個日期一行,格式是"yyyy-mm-dd"。多個日期按從早到晚排列。
2002-03-04
2004-02-03
2004-03-02
思路給定模糊年份只有三種可能(月日年,日月年,年月日),只需判斷三種即可,這裡還要判斷日期是否符合實際以及閏年判斷。
**
#include
#include
using
namespace std;
int arr[13]
[2]=
,,,,
,,,,
,,,,
};struct nodes[3]
;bool
isleap
(int year)
//不需要判斷100年的倍數問題,因為只含2023年,而2000是瑞年
bool
cmp(
const node &a,
const node &b)
intmain()
}if(y<
13&& y>=1)
//日月年 }if
(x<
13&&x>=1)
//月日年
}sort
(s,s+cnt,cmp)
;bool flag=
false
;for
(int i=
0;i(s[i]
.mouth==s[i]
.day) flag=
true
;for
(int i=
0;i)return0;
}
第八屆藍橋杯日期問題
小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的...
第八屆藍橋杯 日期問題
題目 參考 小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在...
第八屆藍橋杯 日期問題
藍橋杯還是比較喜歡考時間的,基本上都是乙個基礎模板 int s day int y,int m,int d if y 4 0 y 100 0 y 400 0 flag 1 for int i 0 i搞懂這個板子基本都能解決了 像高斯日記 國慶日都是用的這個板子稍加改動 程式設計題像第八屆藍橋杯第7題...