藍橋杯第八屆G題 日期問題

2021-10-03 12:33:14 字數 1183 閱讀 1526

題目描述

小明正在整理一批歷史文獻。這些歷史文獻**現了很多日期。小明知道這些日期都在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題...