Pagini recente » Cod sursa (job #2226449) | Cod sursa (job #2325336) | Cod sursa (job #1439507) | Cod sursa (job #523921) | Cod sursa (job #228797)
Cod sursa(job #228797)
#include <stdio.h>
int st[100],k,n,as,ev;
void init(){
st[k] = 0;
}
int sol(){
return n==k;
}
int valid(){
for(int i = 1; i < k; i++)
if (st[k] == st[i]) return 0;
return 1;
}
int succ(){
if (st[k]<n){st[k]++;return 1;}
else return 0;
}
void pt(){
FILE*out = fopen("permutari.out","w");
for(int i=1; i<=k; i++)
fprintf(out, "%d ", st[i]);
fprintf(out,"\n");
}
void bt(){
k = 1;
init();
while (k){
as = 1;
ev = 0;
while (as && !ev){
as = succ();
if(as)ev = valid();
}
if (as){
if(sol())
pt();
else{
k++;
init();
}
}else{
k--;
}
}
}
int main(){
FILE*in = fopen("permutari.in","r");
fscanf(in,"%d",&n);
bt();
return 0;
}