fbpx

Problema #1290 – CifreGen3 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau două numere n m. Să se genereze toate numerele cu exact n cifre mai mici decât m cu proprietatea că prima și ultima cifră sunt egale.

Date de intrare

Programul citește de la tastatură numerele n m.

Date de ieșire

Programul va afișa pe ecran numerele generate, câte unul pe linie, în ordine crescătoare.

Restricții și precizări

  • 1 ≤ n ≤ 7
  • 0 < m < 6

Exemplu

Intrare

3 3

Ieșire

101
111
121
202
212
222
#include <bits/stdc++.h>
using namespace std;
int n , m ,  x[10] , a[10] , rez;

int valid(int k)
{
    if(k == 1 && x[k] == 0) return 0;
    else if(k == n && x[k] != x[1]) return 0;
    return 1;
}

void afisare()
{
    for(int i = 1 ; i <= n ; ++i)
        cout << x[i];
    cout << '\n';
}

void back(int k)
{
    for(int i = 0 ; i < m ; ++i)
    {
        x[k] = i;
        if(valid(k))
        {
            if(k == n)afisare();
            else back(k + 1);
        }
    }
}

int main()
{
    cin >> n >> m;
    back(1);
    return 0;
}
Comentarii

S-ar putea sa iti placa