我覺得吧,很多時候,人啊都是不順心的,沒必要去惆悵什麼的~
題目描述
小明正在整理一批歷史文獻。這些歷史文獻**現了很多日期。小明知道這些日期都在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
分析
剛開始處理這題的時候,還真的找不到什麼思路,但其實也沒有那麼難,首先大於60的+1900,小於60的+2000,其次對年月日加權計數,然後根據題目意思,分三類並存入陣列,sort排序後再輸出,同時捨去相同日期的情況。
//#include
#include
#include
#include
using
namespace std;
intans
(int y,
int m,
int d)
else
return y*
100+m*
10+d;
}int
main()
if(ans(d,y,m)!=0
)if(ans
(d,m,y)!=0
)sort
(a,a+t)
;int tmp=0;
for(
int i=
0;i)printf
("%d-%02d-%02d\n"
,a[i]
/100
,a[i]/10
%10,a[i]%10
); tmp=a[i];}
return0;
}
在以上**後進行二次加工,得到滿分ac**:
//#include
#include
#include
#include
using
namespace std;
int day[2]
[13]=
,};intf(
int y)
//判斷閏年
intans
(int y,
int m,
int d)
//加年份
intmain()
if(ans(d,y,m)!=0
)if(ans
(d,m,y)!=0
)sort
(a,a+t)
;int tmp=0;
for(
int i=
0;i)printf
("%d-%02d-%02d\n"
,a[i]
/10000
,a[i]
%10000
/100
,a[i]
%100);
tmp=a[i];}
return0;
}
二次加工後的**和第一次的**相比多了一些東西也做了一些調整。 每日演算法 day 14
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.2.26 整體思想是 記憶化 dfs 記憶化 將搜尋過程中某一塊的內容直接記錄下來...
1 2 日期類問題
二 day of week 一 日期差值 1 題目和要求 時間限制 1s,記憶體限制 32mb,特殊判題 否 2 總結 1 閏年的判斷規則 當年數不能被100整除且能被4整除則為閏年,或者其能被 400整除時也是閏年。某種情況下,可能出現兩個閏年相隔 8 年。2 可以採用巨集定義函式的方式判斷是否是...
藍橋杯2017 日期問題
小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日...