Pagini recente » Cod sursa (job #1303460) | Cod sursa (job #2382885) | Cod sursa (job #172328) | Cod sursa (job #2068259) | Cod sursa (job #162068)
Cod sursa(job #162068)
#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;
}
*/
bool marcat[10];
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);
*/
if(!marcat[i]){
marcat[i]=true;
sol[k]=i;
back(k+1);
marcat[i]=false;
}
}
}
int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}