Fişierul intrare/ieşire:palindrom2.in, palindrom2.outSursăOJI 2016 clasa a 5-a
AutorCristian FrancuAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.1 secLimită de memorie32768 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Palindrom 2 (clasa a 5-a)

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 1221, 505 şi 7 sunt palindromuri, în vreme ce 500, 1410 şi 2424 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 500, 1411, 2444, 1220, 53625, 14 şi 4014 sunt numere aproape palindromuri (cu perechea de cifre neidentice îngroşată), în vreme ce 1221, 1410, 6, 505, 22 şi 512125 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 x ca fiind cel mai mic număr palindrom p strict mai mare decât x (p > x). De exemplu palindromul asociat al lui 5442 este 5445, palindromul asociat al lui 2445 este 2552, al lui 545 este 555, al lui 39995 este 40004, al lui 500 este 505, iar al lui 512125 este 512215.

Cerinţe

Scrieţi un program care citind un număr natural nenul n şi apoi un şir de n numere naturale determină:

  1. câte dintre cele n numere sunt palindrom;
  2. câte dintre cele n numere sunt aproape palindrom;
  3. palindromurile asociate pentru cele n numere citite.

Date de intrare

Fişierul de intrare palindrom2.in conţine pe prima linie un număr C. Pentru toate testele, C poate lua numai valorile 1, 2 sau 3. Pe a doua linie se află numărul n, iar pe a treia linie cele n numere naturale despărţite prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire palindrom2.out:

  • dacă C = 1, va conţine un singur număr natural reprezentând numărul de numere palindrom din şir;
  • dacă C = 2, va conţine numărul de numere din şir care sunt aproape palindrom;
  • dacă C = 3, va conţine numerele palindrom asociate celor n numere din şir, separate prin câte un spaţiu.

Restricţii

  • 1 ≤ n ≤ 10 000
  • 1 ≤ numerele din şir ≤ 2 000 000 000
  • Pentru rezolvarea corectă a primei cerinţe se acordă 20 de puncte.
  • Pentru rezolvarea corectă a celei de a doua cerinţe se acordă 30 de puncte.
  • Pentru rezolvarea corectă a celei de a treia cerinţe se acordă 50 de puncte.

Exemplu

palindrom2.inpalindrom2.outExplicaţie
1
7
1221 500 53635 505 7 4004 1410
5
Explicaţie: Cele 5 numere palindrom sunt
1221, 53635, 505, 7 şi 4004
(C fiind 1, se rezolvă doar prima cerinţă)
2
4
5442 2445 545 39995
3
Explicaţie: Cele 3 numere aproape palindrom
sunt 5442, 2445 şi 39995
(C fiind 2, se rezolvă doar a doua cerinţă)
3
11
6 1411 2444 1221 505 1220 53625 14 4014 1410 22
7 1441 2552 1331 515 1221 53635 22 4114 1441 33
Explicaţie: Palindromul asociat lui 6 este 7,
al lui 1411 este 1441, al lui 2444 este 2552 etc.
(C fiind 3, se rezolvă doar a treia cerinţă)
Trebuie sa te autentifici pentru a trimite solutii. Click aici