Un număr se numește palindrom dacă prima lui cifră este egală cu ultima, a doua cu penultima și așa mai departe. De exemplu numerele , și sunt palindromuri, în vreme ce , și nu sunt palindromuri.
Similar, un număr se numește aproape palindrom dacă are aceleași perechi de cifre identice ca un palindrom, mai puțin o pereche în care cifrele diferă. De exemplu numerele , , , , , și sunt numere aproape palindromuri (cu perechea de cifre neidentice îngroșată), în vreme ce , , , , și nu sunt numere aproape palindromuri deoarece fie sunt palindromuri, fie au prea multe perechi de cifre diferite.
Mai definim palindromul asociat al unui număr ca fiind cel mai mic număr palindrom p strict mai mare decât (). De exemplu palindromul asociat al lui este 5445, palindromul asociat al lui este , al lui este , al lui este , al lui este , iar al lui este .
Cerință
Scrieți un program care citind un număr natural nenul și apoi un șir de numere naturale determină:
- câte dintre cele numere sunt palindrom;
- câte dintre cele numere sunt aproape palindrom;
- palindromurile asociate pentru cele numere citite.
Date de intrare
Fișierul de intrare palindrom.in
conține pe prima linie un număr . Pentru toate testele, poate lua numai valorile , sau . Pe a doua linie se află numărul , iar pe a treia linie cele numere naturale despărțite prin câte un spațiu.
Date de ieșire
Fișierul de ieșire palindrom.out
:
- dacă , va conține un singur număr natural reprezentând numărul de numere palindrom din șir;
- dacă , va conține numărul de numere din șir care sunt aproape palindrom;
- dacă , va conține numerele palindrom asociate celor numere din șir, separate prin câte un spațiu.
Restricții și precizări
- ;
- numerele din șir ;
- Pentru rezolvarea corectă a primei cerințe se acordă de puncte.
- Pentru rezolvarea corectă a celei de a doua cerințe se acordă de puncte.
- Pentru rezolvarea corectă a celei de a treia cerințe se acordă de puncte.
Exemplul 1
palindrom.in
1
7
1221 500 53635 505 7 4004 1410
palindrom.out
5
Explicație
Explicație: Cele numere palindrom sunt , , , și ( fiind , se rezolvă doar prima cerință)
Exemplul 2
palindrom.in
2
4
5442 2445 545 39995
palindrom.out
3
Explicație
Explicație: Cele numere aproape palindrom sunt , și ( fiind , se rezolvă doar a doua cerință)
Exemplul 3
palindrom.in
3
11
6 1411 2444 1221 505 1220 53625 14 4014 1410 22
palindrom.out
7 1441 2552 1331 515 1221 53635 22 4114 1441 33
Explicație
Explicație: Palindromul asociat lui este , al lui este , al lui este etc. ( fiind , se rezolvă doar a treia cerință)