Cod sursa(job #1241098)
Utilizator | Alexandru Petrescu alexpetrescu | Data | 12 octombrie 2014 17:43:15 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <stdio.h>
#define MAXN 8
FILE *fout;
int v[MAXN], ok[MAXN], n, k;
void perm(){
int i;
if(k==n){
for(i=0; i<n-1; i++){
fprintf(fout, "%d ", v[i]);
}
fprintf(fout, "%d\n", v[i]);
return ;
}
for(i=0; i<n; i++){
if(ok[i]==0){
ok[i]=1;
v[k]=i+1;
k++;
perm();
k--;
ok[i]=0;
}
}
}
int main(){
FILE *fin;
fin=fopen("permutari.in", "r");
fout=fopen("permutari.out", "w");
fscanf(fin, "%d", &n);
perm();
fclose(fin);
fclose(fout);
return 0;
}