#P1367. Time
Time
本题没有可用的提交语言。
描述
给定一个时间点,用 6 个整数 y, m, d, h, min, s 表示,其中 1970 <= y < 2030,0 < m < 13,0 < d < 32,0 <= h < 24,0 <= min < 60,0 <= s < 60。编写一个程序,计算两个给定时间点之间可以容纳多少个指定长度的时间段。时间段由一个正整数和一个表示时间单位的单词组成,即年(year)、月(month)、日(day)、小时(hour)、分钟(minute)或秒(second)。每 4 年有一个闰年,但每 100 年不是闰年,除非是每 400 年则是闰年。年和 2 月的长度会根据闰年而变化。时间单位始终从常规时间开始,例如,一年从 1 月 1 日开始,一个月从其第一天开始,一天从 0 小时 0 分钟 0 秒开始,等等。时间段在最后一秒之后结束。
输入
输入由多个块组成,每个块包含三行。每个块的第一行是一个时间点 D1,第二行是一个时间点 D2。D1 总是在 D2 之前。各行中的数字以空格分隔。可以假设给定的时间点描述是正确的。第三行包含一个时间段。该行中时间段的定义由一个数字和一个单词组成,数字和单词之间有一个空格。每个块之后有一个空行。
输出
输出包含与输入块对应的行。对应每个块的行包含一个整数,表示给定时间点之间包含的指定时间段的数量。
输入数据 1
1997 12 31 23 59 59
1998 1 1 0 0 0
1 second
2000 2 29 0 0 0
2000 2 29 23 59 59
1 day
2000 2 29 0 0 0
2000 3 1 0 0 0
24 hour
1996 12 31 20 30 0
1997 1 1 7 30 0
60 minute
1996 12 31 20 30 0
1997 1 1 7 30 0
1 hour
输出数据 1
1
0
1
11
10
来源
Central Europe 1997