Rezolvare PBinfo #4589

Decorative Icon Problema: cifre14 / 4589

Decorative IconAutor: Darius

Liisa se joacă cu cifrele. Ea scrie pe o foaie de hârtie mai multe numere. Le privește îndelung și apoi îi vine ideea de a adăuga după fiecare cifră pară, a fiecărui număr jumătatea acesteia. Numește aceste numere, numere rezultat. Fiecărui număr rezultat, îi atașează un număr numit număr imagine, pe care îl construiește după următorul algoritm: asociază, mai intâi numărului rezultat un vector ce conține numărul de apariții al fiecărei cifre în numărul rezultat, de la cifra 0 până la cifra 9. Apoi construiește, folosind vectorul de apariții, un nou număr în care cifra unităților este restul împărțirii la 10 al numărului de apariții a celei mai mari cifre din numărul rezultat, cifra zecilor va fi restul împărțirii la 10 al numărului de apariții a următoarei celei mai mari cifre din numărul rezultat și tot așa până la epuizarea cifrelor numărului rezultat. Acest număr, este numit de Liisa, număr imagine al numărului rezultat. Când termină treaba, se hotărăște să facă din acest joc o mică problemă de informatică, pe care să o dea surorii ei să o rezolve, că tot se pregătește pentru apropiata olimpiadă de informatică.

Cerința

Cunoscând numărul N de numere și numerele scrise la început de Liisa pe foaia de hârtie, scrieţi un program care să rezolve următoarele două cerinţe:
1. Determină numerele rezultat obținute de Liisa, pentru cele N numere.
2. Determină cel mai mare dintre numerele imagine obținute și numărul său de apariții în șirul celor N numere imagine.

Date de intrare

Fișierul de intrare cifre.in conține pe prima linie două numere naturale, separate printr-un spațiu, C și N, care reprezintă cerinţa care trebuie să fie rezolvată (1 sau 2), respectiv numărul de numere scrise de Liisa pe foaia de hârtie. A doua linie din fișier conține N numere naturale și nenule, separate între ele prin spațiu, ce reprezintă numerele scrise de către Liisa pe foaia de hârtie.

Date de ieșire

Pentru cerința 1, fişierul de ieşire cifre.out va avea o singură linie ce va conține N numere naturale, separate prin spațiu, ce reprezintă numerele rezultat obținute. Dacă cerința este 2, fișierul de ieșire cifre.out va conține două numere naturale, separate prin spațiu ce reprezintă cel mai mare dintre numerele imagine obținute și numărul său de apariții în șirul celor N numere imagine .

Restricții și precizări
  • 1 ≤ C ≤ 2
  • 1 ≤ N ≤ 1000
  • Numerele din fișierul de intrare sunt nenule și au maximum 9 cifre
  • Numerele scrise în fișierul de ieșire vor avea cel mult 18 cifre
Exemplul 1:

cifre.in

1 1
7458

cifre.out

742584

Explicație

După fiecare cifră pară a numărului din șir, se inserează o cifră egală cu jumătatea acesteia, rezultând numărul rezultat.

Exemplul 2:

cifre.in

2 5
18442 4128 4289 7805609 5087069

cifre.out

41111111 2

Explicație

Se observă că din șirul de n numere se determină cel mai mare număr imagine care este 41111111 și există două numere rezultat ce obțin acest număr imagine, astfel: pentru numărul 7805609 se obține numărul rezultat 78400563009. Numărul imagine atașat lui este 41111111. Pentru numărul 5087069 se obține numărul rezultat 50084700639. Numărul imagine atașat lui este 41111111.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

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