//判斷 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日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在...