Cod sursa(job #1753576)

Utilizator bogdanluncasubogdan bogdanluncasu Data 6 septembrie 2016 18:32:25
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<iostream>
using namespace std;
int *a,n;
void show(){
    for(int i=0;i<n;i++){
     printf("%d ",a[i]);
}
    printf("\n");
}

void swap(int i,int j){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
void solve(int st,int dr){
    if(st==dr)show();
    for(int i=st;i<=dr;i++){
    
        swap(st,i);
        solve(st+1,dr);
        swap(st,i);

    }
    
}
int main(){
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);
    scanf("%d",&n);
    a=(int*)malloc(sizeof(int*)*100000);
    for(int i=0;i<n;i++){
        a[i]=i+1;
    }
    solve(0,n-1);
}