17 mai 1989 ora 23:46 poate fi scris 17/05/89 23:46, iar prin eliminarea caracterelor speciale se obține numărul 1705892346, de forma zzllaahhmm, care este un număr natural cu proprietatea că fiecare cifră de la 0 la 9 este utilizată exact o dată în scrierea acestui număr.
Cerința
Se cunoaște numărul natural N. Scrieți un program care să determine răspunsul pentru următoarele cerințe:
1. Știind că numărul N are exact 10 cifre, să se verifice dacă acest număr are proprietatea că fiecare cifră apare exact o dată;
2. Știind că numărul N are exact 4 cifre și reprezintă un an calendaristic, să se determine de câte ori apare proprietatea enunțată mai sus pentru anul respectiv.
Reamintim că lunile anului au, în ordine 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 zile, excepție făcând luna februarie dintr-un an bisect, când are 29 de zile. Un an este bisect dacă este divizibil cu 400 sau este divizibil cu 4 și nu este divizibil cu 100. De exemplu, 1900 nu este an bisect. În schimb, 1600 și 1984 sunt ani bisecți.
Date de intrare
Fișierul de intrare 10cifre.in conține pe prima linie un număr natural C (1 sau 2) reprezentând cerința care trebuie rezolvată, iar pe a doua linie un număr natural nenul N.
Date de ieșire
Fișierul de ieșire 10cifre.out conține pe prima linie răspunsul determinat pentru cerința C:
- Pentru
C=1, dacăNare proprietatea că fiecare cifră apare exact o dată, atunci răspunsul este format din cele4cifre de la mijlocul număruluiN. În caz contrar, răspunsul este numărul format din primele două cifre ale luiNși ultimele două cifre ale luiN. - Pentru
C=2, răspunsul este numărul numerelor de formazzllaahhmmdin anul respectiv cu proprietatea că fiecare cifră de la0la9este utilizată exact o dată în scrierea acestui număr.
Restricții și precizări
Ceste1sau2Nare exact10cifre pentruC=1și exact4cifre pentruC=2- Pentru toate datele de test există soluție
- Pentru 60 de puncte,
C = 1,N ≤ 2.000.000.000 - Pentru 4 de puncte,
C = 1,N ≤ 9.999.999.999 - Pentru 36 de puncte,
C = 2,1000 ≤ N ≤ 2026
Exemplul 1:
10cifre.in
1 1705892346
10cifre.out
5892
Explicație
Cerința 1. Fiecare cifră apare exact o dată în număr. Cele 4 cifre de la mijlocul numărului N sunt 5892.
Exemplul 2:
10cifre.in
1 1715892346
10cifre.out
1746
Explicație
Cerința 1. Cifra 1 apare de două ori. Numărul format din primele 2 și ultimele 2 cifre ale lui N este 1746.
Exemplul 3:
10cifre.in
2 1989
10cifre.out
84
Explicație
Cerința 2. În anul 1989 există 84 de date și ore cu proprietatea din enunț