時間限制:2000ms
單點時限:1000ms
記憶體限制:256mb
描述給定兩個日期,計算這兩個日期之間有多少個2月29日(包括起始日期)。
年份能被4整除但不能被100整除
年份能被400整除
輸入資料範圍第一行為乙個整數t,表示資料組數。
之後每組資料報含兩行。每一行格式為」month day, year」,表示乙個日期。
month為
中的乙個字串。day與year為兩個數字。資料保證給定的日期合法且第乙個日期早於或等於第二個日期。
輸出 對於每組資料輸出一行,形如」case #x: y」。x為資料組數,從1開始,y為答案。
1 ≤ t ≤ 550
小資料:
2000 ≤ year ≤ 3000
大資料:
2000 ≤ year ≤ 2×109
樣例輸入
4
january 12, 2012
march 19, 2012
august 12, 2899
august 12, 2901
august 12, 2000
august 12, 2005
february 29, 2004
february 29, 2012
樣例輸出
case
#1: 1
case
#2: 0
case
#3: 1
case
#4: 3
思路:
#include
#include
#include
#include
using
namespace
std;
char month[13][100]=;
int getmonth(char *s)
return0;}
inline
int isr(int y)
int main()
k=y[1]/4 - y[1]/100 + y[1]/400;
if(isr(y[1]))
printf("case #%d: %d\n",t,k-j);
}return
0;}
掃碼關注作者,定期分享技術、演算法類文章 程式設計之美2015資格賽
時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 給定兩個日期,計算這兩個日期之間有多少個2月29日 包括起始日期 1.年份能被4整除但不能被100整除 2.年份能被400整除 第一行為乙個整數t,表示資料組數。之後每組資料報含兩行。每一行格式為 month day,year ...
程式設計之美資格賽
時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 給定2個樹a和b,保證a的節點個數 b的節點個數。現在你需要對樹a的邊進行二染色。乙個好的染色方案,指不存在乙個樹a中的連通塊,同時滿足以下2個條件 1.其中只有同色的邊 2.和b同構。兩個樹同構是指,存在乙個一一對映 既是單射...
2015程式設計之美(資格賽) 基站選址
時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 第一行為乙個整數t,表示資料組數。每組資料第一行為四個整數 n,m,a,b。接下來的a b行每行兩個整數x,y,代表乙個座標,前a行表示各使用者的座標,後b行表示各通訊公司的座標。對於每組資料輸出一行 case x y x代表資...