Cod sursa(job #2608225)

Utilizator matthriscuMatt . matthriscu Data 30 aprilie 2020 20:12:30
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <cstdio>

int main() {
    int n, k = 1, st[10] {}, i;
    bool as, ev;
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);
    scanf("%d", &n);
    while(k) {
        do {
            as = 0;
            if(st[k] < n) {
                as = 1;
                st[k]++;
            }
            if(as) {
                ev = 1;
                for(i = 1; i < k; ++i)
                    if(st[k] == st[i])
                        ev = 0;
            }
        } while(as && !ev);
        if(as)
            if(k == n) {
                for(i = 1; i <= n; ++i)
                    printf("%d ", st[i]);
                printf("\n");
            }
            else
                st[++k] = 0;
        else
            --k;
    }
}