Pārprotamie datumi

ID: datumi
Grūtība: 2/5
Laika limits: 1

Uzdevums

Lasot datumu, kas apzīmē kādu dienu XXI gadsimtā un kas pierakstīts formā xx/yy/zz - kur viens burts apzīmē tieši vienu ciparu, bet nav zināms, kurš tieši skaitlis (xx vai yy, vai zz) apzīmē gada pēdējos divus ciparus, kurš mēnesi un kurš mēneša dienu, iespējamas divdomības, cenšoties interpretēt šo datumu.

Piemēram, 86/12/24 viennozīmīgi apzīmē 2086. gada 24. decembri, jo ir skaidrs, ka 86 var apzīmēt tikai gadu (nevienā mēnesī nav 86 dienu un gadā nav 86 mēnešu), 24 - mēneša dienu, jo gadā nav 24 mēnešu, bet gada skaitlis jau ir zināms, un tāpēc 12 apzīmē atlikušo - mēnesi. Ja mēneša diena vai mēneša kārtas numurs ir viencipara skaitlis, tad to papildina līdz diviem cipariem, sākumā pierakstot nulli. Tāpēc 02/03/04 var apzīmēt 6 dažādus datumus, jo katrs no skaitļiem der gan kā gada, gan mēneša, gan kā mēneša dienas apzīmējums jebkurā iespējamajā kombinācijā.

Uzrakstiet programmu, kas dotam datuma pierakstam formā xx/yy/zz nosaka, cik dažādus datumus šādi pierakstītais datums īstenībā varētu apzīmēt!

Piezīmes: Vadīties pēc Gregora kalendāra. Ar XXI gadsimtu tiek saprasti visi gadi no 2000. līdz 2099. gadam. XXI gadsimtā visi gadi, kuru kārtas skaitlis dalās ar 4, ir garie gadi.

 

Ievaddati

Teksta faila datumi.dat vienīgajā rindā dots datuma apzīmējums formā xx/yy/zz (divi cipari, simbols “/”, divi cipari, simbols “/”,divi cipari).

 

Izvaddati

Teksta faila datumi.rez vienīgajā rindā jāizvada viens vesels nenegatīvs skaitlis - dažādo iespējamo pareiza datuma interpretāciju skaits.

 

Piemērs

datumi.datdatumi.rez
86/12/24
1
  
datumi.datdatumi.rez
02/03/04
6
  
datumi.datdatumi.rez
01/01/01
1
  
datumi.datdatumi.rez
97/98/99
0
  
datumi.datdatumi.rez
04/04/29
2
  
datumi.datdatumi.rez
02/02/29
1

 

Atsauces

Uzdevums izmantots Latvijas 20. informātikas olimpiādes I (skolas) kārtā.
© 2001-2002 olimps! http://www.lio.lv/olimps/