Cod sursa(job #145928)
Utilizator | Florian MOGA moga_florian | Data | 29 februarie 2008 18:56:10 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<stdio.h>
FILE *fin =fopen("permutari.in","r"),
*fout = fopen("permutari.out","w");
int N;
char viz[10];
int x[10];
void back(int i){
if(i>N){
for(int k=1;k<=N;k++)
fprintf(fout,"%d ",x[k]);
fprintf(fout,"\n");
return;
}
for(int k=1;k<=N;k++)
if(!viz[k]){
x[i] = k;
viz[k] = 1;
back(i+1);
viz[k] = 0;
}
}
int main(){
fscanf(fin,"%d",&N);
back(1);
fclose(fin);
fclose(fout);
return 0;
}