fbpx

Problema #999 – Numere7 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau două numere naturale diferite. Afişaţi cel mai mic număr care poate fi scris folosind toate cifrele celor două numere date.

Date de intrare

Fișierul de intrare numere7.in conține pe prima linie cele două numere.

Date de ieșire

Fișierul de ieșire numere7.out va conține pe prima linie numărul cerut.

Restricții și precizări

  • cele două numere date vor fi mai mici decât 2 000 000 000

Exemplu

numere7.in

36321 4173

numere7.out

112333467
#include <bits/stdc++.h>

using namespace std;

ifstream cin("numere7.in");
ofstream cout("numere7.out");

int main()
{
    int n , m;
    cin >> n >> m;
    int v[30];
    int cnt=0;
    int p = 0;
    if(n==0)
        cnt++;
    if(m==0)
        cnt++;
    while(n)
    {
        if(n%10==0)
            cnt++;
        else
            v[p]=n%10 , p++;
        n/=10;
    }
    while(m)
    {
        if(m%10==0)
            cnt++;
        else
            v[p]=m%10 , p++;
        m/=10;
    }
    if(p==0)
        cout << 0;
    sort(v , v+p);
    for(int i = 0 ; i < p ; ++i)
    {
        cout << v[i];
        if(i==0)
        {
            for(int j = 0 ; j < cnt ; ++j)
                cout << 0;
        }
    }
    return 0;    
}
Comentarii

S-ar putea sa iti placa