Rezolvare completă PbInfo #797 SubNumar

Un număr natural x, format din exact două cifre, este numit sub-număr al unui număr natural y dacă cifrele lui x apar, în aceeași ordine, pe ranguri consecutive, în numărul y.
Exemplu: 21 este sub-număr al lui 12145, al lui 213, al lui 21, dar nu și al lui 123 sau al lui 231.

Cerința

Fișierul de intrare conține cel mult 1.000.000 de numere naturale. Se cere să se afișeze în fișierul de ieșire, în ordine descrescătoare, sub-numerele care apar de cele mai multe ori în scrierea numerelor date.

Date de intrare

Fișierul de intrare subnumar.in conține cel mult 1.000.000 de numere naturale cu cel puțin 2 cifre, separate prin câte un spațiu, dispuse pe mai multe linii.

Date de ieșire

Fișierul de ieșire subnumar.out va conține pe prima linie valorile cerute, separate prin câte un spațiu.

Restricții și precizări

  • numerele din fișierul de intrare vor fi din intervalul [10, 1.000.000.000]

Exemplu

subnumar.in

393 17775787 72194942 12121774

subnumar.out

77 21

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema SubNumar:

#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("subnumar.in");
ofstream fout("subnumar.out");

int v[100];

int main(){
    int x;
    while(fin >>x)
        while(x >= 10)
            v[x % 100] ++ , x /= 10;
    
    int Max = -1;
    for(int i = 10 ; i <= 99 ; i ++)
        if(v[i] > Max)
            Max = v[i];
    for(int i = 99 ; i > 9 ; i --)
        if(v[i] == Max)
            fout << i << " ";
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #797 SubNumar

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #797 SubNumar de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!