10cifre

Time limit: 0.2s Memory limit: 16MB Input: 10cifre.in Output: 10cifre.out

17 mai 1989 23:46 poate fi scris 17/05/89 23:46, iar prin eliminarea caracterelor speciale se obține numărul 17058923461705892346, de forma zzllaahhmm, care este un număr natural cu proprietatea că fiecare cifră de la 00 la 99 este utilizată exact o dată în scrierea acestui număr.

Cerință

Se cunoaște numărul natural NN. Scrieți un program care să determine răspunsul pentru următoarele cerințe:

  1. Știind că numărul NN are exact 1010 cifre, să se verifice dacă acest număr are proprietatea că fiecare cifră apare exact o dată;
  2. Știind că numărul NN are exact 44 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, 3131, 2828, 3131, 3030, 3131, 3030, 3131, 3131, 3030, 3131, 3030, 3131 zile, excepție făcând luna februarie dintr-un an bisect, când are 2929 de zile. Un an este bisect dacă este divizibil cu 400400 sau este divizibil cu 44 și nu este divizibil cu 100100. De exemplu, 19001900 nu este an bisect. În schimb, 16001600 și 19841984 sunt ani bisecți.

Date de intrare

Fișierul de intrare 10cifre.in conține pe prima linie un număr natural CC (11 sau 22), reprezentând cerința care trebuie rezolvată, iar pe a doua linie un număr natural nenul NN.

Date de ieșire

Fișierul de ieșire 10cifre.out conține pe prima linie răspunsul determinat pentru cerința CC:

  • pentru C=1C = 1, dacă NN are proprietatea că fiecare cifră apare exact o dată, atunci răspunsul este format din cele 44 cifre de la mijlocul numărului NN. În caz contrar, răspunsul este numărul format din primele două cifre ale lui NN și ultimele două cifre ale lui NN;
  • pentru C=2C = 2, răspunsul este numărul numerelor de forma zzllaahhmm din anul respectiv, cu proprietatea că fiecare cifră de la 00 la 99 este utilizată exact o dată în scrierea acestui număr.

Restricții și precizări

  • CC este 11 sau 22;
  • NN are exact 1010 cifre pentru C=1C = 1 și exact 44 cifre pentru C=2C = 2;
  • Pentru toate datele de test există soluție.
# Punctaj Restricții
1 60 C=1C = 1, N2 000 000 000N \le 2 \ 000 \ 000 \ 000
2 4 C=1C = 1, N9 999 999 999N \le 9 \ 999 \ 999 \ 999
3 36 C=2C = 2, 1000N20261000 \le N \le 2026

Exemplul 1

10cifre.in

1
1705892346

10cifre.out

5892

Explicație

Cerința 11. Fiecare cifră apare exact o dată în număr. Cele 44 cifre de la mijlocul numărului NN sunt 58925892.

Exemplul 2

10cifre.in

1
1715892346

10cifre.out

1746

Explicație

Cerința 11. Cifra 11 apare de două ori. Numărul format din primele 22 și ultimele 22 cifre ale lui NN este 17461746.

Exemplul 3

10cifre.in

2
1989

10cifre.out

84

Explicație

Cerința 22. În anul 19891989 există 8484 de date și ore cu proprietatea din enunț.

Log in or sign up to be able to send submissions!