Pagini recente » Cod sursa (job #1084557) | Cod sursa (job #2831037) | Cod sursa (job #509629) | Cod sursa (job #38590) | Cod sursa (job #162060)
Cod sursa(job #162060)
#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(){
for(int i=1;i<n;++i)
printf("%d ",sol[i]);
printf("%d\n",sol[n]);
}
void back(int k){//completeaza sol[k]
if(k==n+1){
//prelucrarea unei solutii
scrie();
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);
return 0;
}