第八屆 7 日期問題

2021-08-17 11:04:44 字數 1640 閱讀 7258

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

輸出若干個不相同的日期,每個日期一行,格式是」yyyy-mm-dd」。多個日期按從早到晚排列。

02/03/04

2002-03-04

2004-02-03

2004-03-02

資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入…」 的多餘內容。

注意:

main函式需要返回0;

只使用ansi c/ansi c++ 標準;

不要呼叫依賴於編譯環境或作業系統的特殊函式。

所有依賴的函式必須明確地在原始檔中 #include

不能通過工程設定而省略常用標頭檔案。

提交程式時,注意選擇所期望的語言型別和編譯器型別。

#include

#include

#include

#include

#include

using

namespace

std;

int run(int year);

int check(int year,int mon,int day);

typedef

struct data

return

true;

}};bool cmp(const data &a,const data &b)

int main()

sort(a,a+3,cmp);

// if(a[1].flag)

// printf("20%02d-%02d-%02d\n",a[1].year,a[1].mon,a[1].day);

for(int i = 0;i < 3;i++)

if(a[i].year >= 60)

printf("19%02d-%02d-%02d\n",a[i].year,a[i].mon,a[i].day);

else

printf("20%02d-%02d-%02d\n",a[i].year,a[i].mon,a[i].day);}}

return0;}

int run(int year)

int check(int year,int mon,int day);

if(mon > 12||mon == 0)

return

0; if(day > mon_nday[mon - 1]||day == 0)

return

0; return

1;}

第八屆藍橋杯日期問題

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