Pagini recente » Cod sursa (job #2574524) | Cod sursa (job #1159388) | Cod sursa (job #1629951) | Cod sursa (job #188134) | Cod sursa (job #162063)
Cod sursa(job #162063)
#include <stdio.h>
int n,sol[10];
int valid(int k){ //verifica daca sol[k] e compatibil cu elementele care sunt deja in sol.
for(int i=1;i<k;i++)
if(sol[i]==sol[k])
return 0;
return 1;
}
void scrie(int k){
int i;
for(i=1;i<k;i++)
printf("%d ",sol[i]);
printf("\n");
}
void back(int k){ //completeaza sol[k]
if(k==n+1){
//prelucrare unei solutrii
scrie(k);
return ;
}
//aleg un element pentru sol[k]
for(int i=1;i<=n;i++){
sol[k]=i;
if(valid(k))
back(k+1);
}
}
int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
}