Determinaremos un instante en el tiempo mediante 6 enteros y
, m, d, h, min, s, donde 1970 < y < 2030, 0 < m < 13, 0 < d <
32, 0 <= h < 24, 0 <= min < 60, 0 <= s < 60, que indicarán,
respectivamente, año, mes, día, hora, minutos y segundos.
Objetivo
Escriba un programa que calcule cuantos periodos completos de
tiempo —de un tipo determinado— hay entre dos instantes dados.
Los periodos a considerar son: años, meses, días,
horas, minutos y segundos, que se identificarán respectivamente con las
palabras "year", "month", "day", "hour",
"minute" y "second".
Note que sólo deben computarse periodos completos. En
ese sentido, debe considerarse que los años empiezan siempre en enero,
los meses el día 1, los días a las 0 horas, las horas en el minuto
0 y los minutos en el segundo 0. Un periodo no ha terminado hasta que empieza
el siguiente del mismo tipo.
Por ello, entre las 7 horas, 0 minutos y 0 segundos de un día
determinado a las 8 horas, 0 minutos y 0 segundos del mismo día hay una
hora. Sin embargo, de las 7 horas, 0 minutos y 1 segundo a las 8 horas, 59 minutos
y 59 segundos no hay ninguna hora completa, aunque hay 118 minutos y 7198 segundos.
Recuerde que, de los años que se consideran, son bisiestos
todos los múltiplos de 4.
Entrada
Los datos de entrada para el programa estarán en un archivo
de texto (ASCII) con nombre "TEMP.DAT". Este archivo tendrá
la siguiente estructura:
- El fichero de entrada contendrá varios bloques (al menos
uno) de tres líneas.
- En la primera y la segunda línea de cada bloque se indicarán
dos instantes de tiempo T1 y T2 (T1 anterior a T2) en el formato antes descrito
(los números dentro de cada línea irán separados por 1
espacio en blanco).
- La tercera y última línea del bloque contendrá un período
de tiempo, indicado por una de las palabras antes señaladas.
- En el fichero de entrada no habrá ninguna línea en blanco.
- Puede suponerse que no habrá ningún tipo de error en el archivo
de entrada.
Salida
La salida del programa se grabará en un archivo de texto
(ASCII), con nombre "TEMP.RES", que deberá tener exactamente
la siguiente estructura:
- Contendrá una línea por cada bloque del fichero
de entrada.
- En cada una de estas líneas se escribirá el número entero
que corresponda al número de períodos completos, del tipo indicado,
que hay entre los instantes señalados.
- El fichero de salida no contendrá ninguna línea ni espacio en
blanco.
Ejemplo de entrada
1997 12 31 23 59 59
1998 1 1 0 0 0
second
2000 2 29 0 0 0
2000 2 29 23 59 59
day
2000 2 29 0 0 0
2000 3 1 0 0 0
hour
1996 12 31 20 30 0
1997 1 1 7 30 0
minute
1996 12 31 20 30 0
1997 1 1 7 30 0
hour
Ejemplo de salida
1
0
24
660
10 |