Rezolvare PBinfo #4588

Decorative Icon Problema: pin / 4588

Decorative IconAutor: Darius

Piticul Doc și-a securizat pin-ul cardului bancar într-un mod cunoscut doar de el. Pin-ul este format din exact 4 cifre. Doc dispune de o mulțime de informații numerice dispuse pe R rânduri. Fiecare cifră din pin-ul cardului bancar este un element majoritar pe rândul său, adică numărul de apariții ale cifrei respective este mai mare decât n / 2, unde n reprezintă numărul total de cifre de pe rândul respectiv. Tu poți afla pin-ul lui Doc sau crezi că a greșit securizarea pin-ului?

Cerința

Cunoscând numărul R de rânduri și numerele de pe fiecare rând, scrieţi un program care să determine pin-ul lui Doc.

Date de intrare

Fișierul de intrare pin.in conține pe prima linie numărul R care reprezintă numărul de rânduri. Pe fiecare dintre următoarele R linii se află un set de maxim 2024 de numere naturale.

Date de ieșire

Fișierul de ieșire pin.out va conține o singură linie pe care va fi scris mesajul PIN CORECT urmat de un număr natural reprezentând pin-ul lui Doc sau mesajul PIN INCORECT urmat de un număr reprezentând greșeala lui Doc în securizarea pin-ului.

Restricții și precizări
  • R este un număr natural, 4 ≤ R ≤ 1000.
  • numerele din fiecare rând au maximum 9 cifre și sunt separate printr-un singur spațiu.
  • se garantează existența cel puțin a unei cifre majoritare.
  • cifrele pin-ului sunt alese în ordinea parcurgerii rândurilor de la rândul 1 la R.
  • datorită dimensiunilor prea mari, nu au fost adăugate toate testele
Exemplul 1:

pin.in

5
17 111 4112 1019 1 23
45 3033 3 8 3033 48899
45 3033 3 8 3033
100 200 300
77777

pin.out

PIN CORECT 1307

Explicație

Prima cifră a pin-ului este 1 aflată din rândul 1.
A doua cifră din pin-ul lui Doc este 3 (rândul 3).
A treia cifră este 0 aflată din rândul 4.
Ultima cifră, a 4-a, este dedusă din rândul 5.
Pin-ul are EXACT 4 cifre deci este corect.

Exemplul 2:

pin.in

7
17 123 4112 4049 8 23 6788
45 3033 3 8 3033 48899
45 3033 3 8 3033
100 200 300
7890
1 2 3 4 5 6 7 8 9
0 0 0 9 9 9 888 666

pin.out

PIN INCORECT 30

Explicație

Doc a greșit în securizarea pin-ului deoarece pin-ul are doar 2 cifre:
Cifra 3 aflată din rândul 3 și
Cifra 0 aflată din rândul 4.

Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2024 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate