Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

WZP09_2A - 8302

Podczas ostatnich Mistrzostw Warszawskiej Wyższej Szkoły Informatyki w Programowaniu zawodnicy zmagali się z zadaniem dotyczącym problemu roku 2038. Przypomnijmy, że w systemach Unix i ich pochodnych data i godzina reprezentowane są w postaci liczby sekund jakie upłynęły od godziny 0:00 dnia 1 stycznia 1970 roku. Niestety liczby sekund jakie upłynęły od wyżej wymienionej daty zapisywane są w 32 bitowych zmiennych ze znakiem, a zatem maksymalna wartość jaką można przechować to 2147483647 sekund co odpowiada godzinie 3:14:07 dnia 19 stycznia 2038 roku. Rozwiązanie tego problemu jest oczywiście banalnie proste, wystarczy użyć zmiennych 64 bitowych.

W ramach ostatnich zawodów należało napisać program, który zamieniał ilość sekund w formacie uniksowym na datę, tym razem zadanie jest odwrotne. Dla daty podanej w formacie R-M-D g:m:s wyznacz odpowiadającą jej ilość sekund jakie upłynęły od godziny 0:00 dnia 1 stycznia 1970 roku. Oznaczenia R, M, D, g, m, s określają odpowiednio rok, miesiąc, dzień miesiąca, godzinę minutę oraz sekundę. W obliczeniach należy uwzględnić lata przestępne.

Przypominamy, że rok jest przestępny jeżeli spełnia jeden z dwóch warunków:

  1. Jest podzielny przez 4 i nie jest podzielny przez 100
  2. Jest podzielny przez 400

Wejście

W pierwszej linii wejścia znajduje się dokładnie jedna liczba naturalna t (1 <= t <= 1000) określająca ilość zestawów danych. W kolejnych t liniach znajdują się zestawy danych.

Każdy zestaw danych składa się z jednej daty w formacie "R-M-D g:m:s", dla której należy obliczyć reprezentację w formacie uniksowym. W polach M, D, g, m oraz s mogą występować nieznaczące zera. Data może przyjmować wartości od 1970-01-01 00:00:00 do 2200-01-01 00:00:00 włącznie z tymi datami.

Wyjście

Dla każdego zestawu danych należy w osobnej linii wypisać reprezentację wczytanej daty w formacie uniksowym czyli ilość sekund jakie upłynęły od godziny 0:00 dnia 1 stycznia 1970 roku.

Przykład

Dla danych:

3 
1970-01-01 00:00:00 
2038-01-19 03:14:08 
2009-05-16 15:10:00 

Twój program powinien wypisać:

0 
2147483648 
1242486600 

Dodane przez:Maciej Boniecki
Data dodania:2009-11-01
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: NODEJS OBJC PERL6 SCM qobi SQLITE VB.NET
Pochodzenie:Wiosenne Zawody Programistyczne 2009

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.