在 1582 年之前,以 4 為倍數的年份為閏年。正常情況下,一年中一月到十二月的天數分別是 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 天。如果這年是閏年,那麼二月則有 29 天。
但某位皇帝發現這麼做其實不夠準確,會造成誤差,因此規定從 1582 年開始,以 4 為倍數的年份,除了以 100 為倍數且不為 400 的倍數年份,才是閏年。同時為了消除誤差,規定 1582 年 10 月 4 日的下一天是 1582 年 10 月 15 日,中間的日期就當作不存在了。
現在給出日期,計算這個日期到公元 1 年 1 月 1 日經過的天數。
按照 日月年 的格式輸入資料,其中日是 1 到 31 之間的整數,月是三個大寫字母,年是 1 到 9999 之間的整數。保證這個日期是合法且存在的。
月份的大寫字母:
1月:jan
2月:feb
3月:mar
4月:apr
5月:may
6月:jun
7月:jul
8月:aug
9月:sep
10月:oct
11月:nov
12月:dec
輸出乙個整數表示答案
輸入 #1
1jan1輸出 #1 輸入 #2
4oct1582輸出 #2 輸入 #3
15oct1582輸出 #3 輸入 #4
21nov2020輸出 #4 思路:純模擬
#include
#include
using
namespace std;
int k[13]
=;intmoth
(string s)
intnian1
(int y)
intnian2
(int y)
intday
(int y,
int m,
int d)
}else
} sum+
=p;}
k[2]=
28;for(
int i=
1;ielse
} sum+
=k[i];}
sum+
=d; sum--;if
(y>
1582
)else
if(y==
1582
)else
if(m==10)
}}//cout}int
main()
else}if
(f==1)
else}if
(f==2)
}}m=
moth
(str)
; cout<<
day(y,m,d)
<}return0;
}
T156530 儒略曆 傳智杯 練習賽
點讚再看,養成習慣 t156530 儒略曆 但某位皇帝發現這麼做其實不夠準確,會造成誤差,因此規定從 1582 年開始,以 4 為倍數的年份,除了以 100 為倍數且不為 400 的倍數年份,才是閏年。同時為了消除誤差,規定 1582 年 10 月 4 日的下一天是 1582 年 10 月 15 日...
洛谷T51924 忘情
二分上界有多大開多大 二分上界有多大開多大 二分上界有多大開多大 重要的事情說三遍 又被bright神仙帶著做題了 先無腦上wqs二分 我們可以把這個柿子畫一下,區間的花費就變成 sigema l r i s i 1 2了 那麼這個東西經過我艱苦的畫柿子證明是滿足四邊形不等式的 然後就和貞魚那題一樣...
洛谷T96628 統計
給定 n m 求十進位制 n 位數每個位數之積等於k的方案數 dp 高精 數學 考慮 k 0 的情況,由於可以有若干個 0 所以方案數為 sum limits times 9 考慮另外的情況,我們將 k 分解質因數,如果 k 還有除了 2 3 5 7 之外的質因數那麼方案數為 0 其餘的情況我們考慮...