Cod sursa(job #3341217)

Utilizator Sabin1133Padurariu Sabin Sabin1133 Data 18 februarie 2026 15:48:05
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>

#define NMAX 8

void permutation(char *used, int *perm, int i, int n)
{
    if (i < n) {
        for (int m = 0; m < n; ++m)
            if (!used[m]) {
                perm[i] = m + 1;
                used[m] = 1;

                permutation(used, perm, i + 1, n);

                used[m] = 0;
            }
    } else {
        for (int j = 0; j < n; ++j)
            std::cout << perm[j] << ' ';
        std::cout << '\n';
    }
}

int main()
{
    int n;
    char used[NMAX] = {0};
    int perm[NMAX];

    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);

    std::cin >> n;

    permutation(used, perm, 0, n);

    return 0;
}