Cod sursa(job #434636)
Utilizator | Data | 6 aprilie 2010 12:48:19 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
int n,st[100],fol[100];
void back(int k) {
if(k == n + 1 ) {
for(int i = 1 ; i<= n ; i++ )
printf("%d",st[i]," ");
printf("\n");
}
else
for(int i = 1; i <= n; i++)
if(!fol[i]) {
st[k] = i;
fol[i] = 1;
back(k+1);
fol[i] = 0;
}
}
int main() {
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}