Cod sursa(job #1108011)

Utilizator lorundlorund lorund Data 15 februarie 2014 12:33:22
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>

int N, K;
int v[20], vis[20];

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

    scanf("%d", &N);
    int p=1;
    while (p){
        do{
            ++v[p];
        }while (v[p]<=N && vis[v[p]]);

        if (v[p]<=N){
            if (p == N){
                for (int i=1; i<=N; ++i)
                    printf("%d ", v[i]);
                puts("");
            }
            else{
                vis[v[p]] = 1;
                ++p;
                v[p] = 0;
            }
        }
        else{
            --p;
            vis[v[p]] = 0;
        }
    }
    return 0;
}