hihoCoder 1148 2月29日
阿新 • • 發佈:2017-05-21
pri algorithm int efi return == mit str ++
時間限制:2000ms
單點時限:1000ms
內存限制:256MB
描述
給定兩個日期,計算這兩個日期之間有多少個2月29日(包括起始日期)。
只有閏年有2月29日,滿足以下一個條件的年份為閏年:
1. 年份能被4整除但不能被100整除
2. 年份能被400整除
輸入
第一行為一個整數T,表示數據組數。
之後每組數據包含兩行。每一行格式為"month day, year",表示一個日期。month為{"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November" , "December"}中的一個字符串。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
題目大意我就不說嘞!這題很容易就能讀懂。
這題如果直接用for循環跑一邊找閏年的話,對於小數據可能回A但是大數據就會TLE
so~這題我們可以直接求出兩個時間段之間 閏年的個數(即2月29日的個數)1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4 #include <string> 5 #include <algorithm> 6
hihoCoder 1148 2月29日