Pagini recente » Zmeu2 | Cod sursa (job #1546476) | Cod sursa (job #1361687) | Cod sursa (job #330086) | Cod sursa (job #217732)
Cod sursa(job #217732)
#include<iostream.h>
#include <math.h>
int st[100];
int n,k,ev,as;
inline void init (){
st[k]=0;
}
inline int succesor (){
if (st[k]<n){
st[k]=st[k]+1;
return 1;
}
else return 0;
}
int valid (){
int i;
for(i=1;i<k;i++)
if (st[k]==st[i]) return 0;
return 1;
}
inline int solutie(){
return k==n;
}
void tipar (){
int i;
for(i=1;i<=n;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void bt(){
k=1;
init();
while (k>0){
as=1;
ev=0;
while(as && !ev){
as=succesor();
if(as)
ev=valid();
}
if(as)
if (solutie()) tipar();
else {k++; init();}
else k--;
}
}
int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
cin>>n;
bt();
return 0;
}