Cod sursa(job #1453479)
Utilizator | Data | 23 iunie 2015 17:31:05 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
void bt(int k);
int n, v[9] = {0}, a[9] = {0};
int main(){
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
bt(1);
return 0;
}
void bt(int k){
int i;
if(k == n + 1){
for(i = 1; i <= n; i++)
printf("%d ", v[i]);
printf("\n");
return;
}
for(i = 1; i <= n; i++){
if(!a[i]){
a[i] = 1;
v[k] = i;
bt(k + 1);
a[i] = 0;
}
}
}