Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int succesor(int st[20],int n,int m,int k)
- { if(st[k]<n-m+k)
- { st[k]++;
- return 1;
- }
- else
- return 0;
- }
- int valid(int st[20],int k)
- { for(int i=1;i<k;i++)
- if(st[k]==st[i])
- return 0;
- return 1;
- }
- int tipar(int st[20],int m)
- { for(int i=1;i<=m;i++)
- cout<<st[i];
- cout<<endl;
- }
- void bt(int n,int m,int k,int st[20])
- { int as,ev;
- k=1;
- if(k==1)
- st[k]=0;
- else
- st[k]=st[k-1];
- while(k>0)
- { as=1;
- ev=0;
- while(as && !ev)
- { as=succesor(st,n,m,k);
- if(as)
- ev=valid(st,k);
- }
- if(as)
- if(k==m)
- tipar(st,m);
- else
- { k++;
- if(k==1)
- st[k]=0;
- else
- st[k]=st[k-1];
- }
- else
- k--;
- }
- }
- int main()
- { int n,k,st[20],m;
- cin>>n>>m;
- bt(n,m,k,st);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement