Cod sursa(job #150359)
Utilizator | Fodor Stefan xtephan | Data | 6 martie 2008 21:19:10 |
---|---|---|---|
Problema | Generare de permutari | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include<stdio.h>
int n;
int st[10];
int nrsol;
void afis() {
for(int i=1; i<=n; i++)
printf("%d", st[i]);
printf("\n");
}
void permuta(int k) {
if(k == n) {
nrsol++;
afis();
}
else {
for(int i=1; i<=n; i++) {
int ok=1;
for(int j=1; j<=k && ok; j++)
if(st[j] == i)
ok=0;
if(ok) {
st[k+1]=i;
permuta(k+1);
}
}
}
}
int main() {
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
permuta(0);
// printf("%d\n", nrsol);
return 0;
}