Cod sursa(job #614504)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 6 octombrie 2011 18:49:37
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
int n,x[9],e[10];

void increase(int &p){
    int i;
        for(i=n;i>=0;i--){
        for(int j=x[i]+1;j<=n;j++)
        if(!e[j]){e[x[i]]=0;x[i]=j;e[j]=1;p=i+1;return ;}
        e[x[i]]=0; };
}

void comb(){
    int p;
    for(int i=1;i<=n;i++)printf("%d ",x[i]);printf("\n");
    increase(p);
    for(;p<=n;p++)
    for(int j=1;j<=n;j++)
    if(!e[j]){x[p]=j;e[j]=1;break;};
}

int main(){
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
        scanf("%d",&n);
        e[n+1]=1;
        for(int i=1;i<=n;i++){x[i]=i;e[i]=1;};
        while(x[0]==0)comb();
}