藍橋杯 日期問題

2021-10-03 02:34:46 字數 1750 閱讀 8249

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

using

namespace std;

int y,m,d;

int map[5]

[3];

int t=1;

boolp(

int y,

int m,

int d)

//判斷日期是否重複了

} map[t][0

]=y;

map[t][1

]=m;

map[t][2

]=d;

t++;return

false;}

void

print

(int y,

int m,

int d)

else

if(d<10)

else

return;}

voidf(

int y,

int m,

int d)

else

if(y<=59)

if(m==2)

}}else}}

}else

if(m==

1||m==

3||m==

5||m==

7||m==

8||m==

10||m==12)

}}else

if(m==

4||m==

6||m==

9||m==11)

}}}return;}

int main (

)else

}else

else

f(y,m,d);}

return0;

}

藍橋杯 日期問題

問題描述 小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在...

藍橋杯 日期問題

問題描述 小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很...

藍橋杯 日期問題

小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日...