Cifrul magic

Time limit: 0.1s Memory limit: 16MB Input: cifru.in Output: cifru.out

Făt-Frumos a ajuns la castelul unde este prizonieră Ileana Cosânzeana. Pentru a o elibera, trebuie să deschidă o poartă grea de fier care este încuiată cu un lacăt cu cifru. Lângă poartă, pe o stâncă, el găsește o listă cu NN numere naturale scrise haotic.
Zâna Bună îi apare în vis și îi explică secretul: lacătul se deschide folosind anumite proprietăți ale numerelor de pe foaie. Mai mult, Zâna îi spune că dacă rotește foaia la 180°180°, unele numere se transformă în alte numere, în timp ce altele devin ilizibile.
Cifrele care pot fi citite și după rotirea foii sunt:

  • 00, 11 și 88 (care rămân neschimbate);
  • 66 (care prin rotire devine 99);
  • 99 (care prin rotire devine 66).
    Orice număr care conține cel puțin o cifră din setul {22, 33, 44, 55, 77} devine ilizibil prin rotire. De asemenea, un număr valid prin rotire poate să își schimbe valoarea sau numărul de cifre (de exemplu, 600600 rotit devine 009009, deci numărul 99).

Cerințe

Ajutați-l pe Făt-Frumos să determine:

  1. Câte numere de exact 44 cifre se aflau pe foaia inițială.
  2. Câte numere de pe foaie, după ce sunt rotite la 180°180°, sunt formate din exact 44 cifre.
  3. Cel mai mare număr de pe foaie care, prin rotire, rămâne identic cu el însuși.

Date de intrare

Fișierul cifru.in conține pe prima linie un număr natural CC, reprezentând cerința care trebuie rezolvată. Pe a doua linie se află numărul natural NN. Pe a treia linie se află cele NN numere naturale, separate prin câte un spațiu.

Date de ieșire

Fișierul cifru.out va conține un singur număr, reprezentând răspunsul la cerința CC. Pentru cerința 33, dacă nu există niciun astfel de număr, se va afișa 1-1.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000;
  • Numerele de pe foaie sunt numere naturale cuprinse între 00 și 2 000 000 0002 \ 000 \ 000 \ 000;
  • Pentru cerința 22, un număr precum 10061006 rotit devine 90019001 (valid, 44 cifre). Numărul 60006000 rotit devine 99 (invalid, nu are 44 cifre);
# Punctaj Restricții
1 30 C=1C=1
2 40 C=2C=2
3 30 C=3C=3

Exemplul 1

cifru.in

1
5
23 4500 1024 34 7645

cifru.out

3

Explicație

Numerele de 44 cifre sunt 45004500, 10241024 și 76457645.

Exemplul 2

cifru.in

2
5
6889 2345 3456 21 1009

cifru.out

2

Explicație

68896889 rotit este 68896889 (valid), 10091009 rotit este 60016001 (valid). Celelalte conțin cifre interzise sau nu au 44 cifre după rotire.

Exemplul 3

cifru.in

3
6
1881 6009 8118 69 1001 4444

cifru.out

8118

Explicație

Numerele care rotite rămân la fel sunt 18811881, 81188118, 6969 și 10011001. Cel mai mare dintre ele este 81188118.

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