Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int st[100],n;
- int sub_solutie(int k){
- if(st[k]<n){
- st[k]++;
- return 1;}
- else return 0;
- }
- int e_valid(int k){
- for(int i=0;i<k;i++)
- if(st[i]==st[k]) return 0;
- return 1;
- }
- int solutie(int k){
- if(k==n) return 1;
- else return 0;
- }
- void scrie_sol(int k){
- for(int i=1;i<=k;i++)
- cout<<st[i]<<' ';
- cout<<endl;
- }
- void backt(){
- st[1]=0;
- int vf=1;
- int as;
- while(vf>=1){
- do
- as=sub_solutie(vf);
- while(as &&!e_valid(vf));
- if(as) if(solutie(vf))
- scrie_sol(vf);
- else{
- vf++;
- st[vf]=0;
- }
- else vf--;
- }
- }
- int main()
- {
- cin>>n;
- backt();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement