藍橋杯 歷屆試題 日期問題

2021-09-13 12:52:50 字數 1254 閱讀 1081

//判斷 year 是否是閏年

//預設 year已經是大於零的數

bool isleapyear(int year)

//對傳來的3個引數是否能構成乙個日期 yy-mm-dd

//規定:

// yy∈[00,59] yy = 20yy

// yy∈[60,99] yy = 19yy

// 即yy無需判斷,預設合法,但某種情況下需要判斷yy是閏年/平年。

// mm∈[01,12] 否則不合法

// dd∈[01,31] 否則不合法

// 特別地:

// dd∈[29,31] 需要根據月份、閏年/平年進行討論

bool islegal (int yy, int mm, int dd)

} return

true;

}struct date

return

false;

}}legaldate[3];

intsum = 0; //記錄實際共有幾個合法的日期

//把合法的日期加入legaldate

void addlegaldate(int y, int m, int d)

legaldate[sum].date[0] = year;

legaldate[sum].date[1] = m;

legaldate[sum].date[2] = d;

sum++;

}int main()

// 月/日/年

if(islegal(date[2], date[0], date[1]))

// 日/月/年

if(islegal(date[2], date[1], date[0]))

//按日期先後排序

sort(legaldate, legaldate + sum);

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

return

0;}

藍橋杯 試題 歷屆試題 日期問題

試題 歷屆試題 日期問題 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還...

藍橋杯試題 歷屆試題 郵局

題中的資料量很小,但單純的回溯會超時,所以需要剪枝,這裡減了三個枝。1.當即使所有剩餘點都算上都不能取k個點時。2.當當前點大於k個時。3.當發現加入乙個點後距離陣列沒有變化時,說明這個點可有可無以後不再計算。include include include include using namespa...

歷屆試題 日期問題

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