Kalendar - Državno (2020)


Submit solution

Points: 70 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Državno natjecanje 2020. godine za 1. i 2. razred Srednje Škole - 3. zadatak

Neki analogni ručni satovi pokazuju dan u mjesecu. Oni imaju brojčanik u kojemu se ciklično mijenjaju brojevi od 1 do 31. To znači da datum treba ponovno podesiti nakon svakog mjeseca koji ima manje od 31 dan. Primjerice, ako 30. travnja sat pokazuje točan dan u mjesecu (30), idućeg dana (1. svibnja) sat će pokazati broj 31 umjesto 1.

Zadan je početni datum na koji smo točno podesili sat i dan u mjesecu koji pokazuje. Ako nakon toga više nikad ne podešavamo sat, treba ispisati prvi datum kada će sat pokazati pogrešan dan u mjesecu, te prvi datum nakon toga kada će ponovno pokazati točan dan u mjesecu.

Napomena. Mjeseci, kao što je poznato, imaju 31 dan osim travnja, lipnja, rujna i studenog koji imaju 30 dana, te veljače koja ima 28 dana osim u prijestupnoj godini kada ima 29 dana. Prijestupna godina je ona koja je djeljiva s 4 i nije djeljiva sa 100, ili je djeljiva s 400.

ULAZNI PODACI

U prvom je retku zadan ispravan početni datum u obliku triju brojeva (dan, mjesec i godina) odvojenih razmakom, bez točaka i vodećih nula.

Zadani datum bit će između 1. 1. 1582. i 31. 12. 3000.

IZLAZNI PODACI

U prvi redak ispišite prvi traženi datum.

U drugi redak ispišite drugi traženi datum.

Oba datuma trebaju biti ispisana u istom formatu kao datum u ulaznim podatcima

PRIMJERI TEST PODATAKA

ulaz
30 9 2020
izlaz
1 10 2020
1 10 2029
ulaz
6 10 2020
izlaz
1 12 2020
1 3 2025

Comments

There are no comments at the moment.