Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- using namespace std;
- int x[10],n,p,i,k,sem,r=0;;
- int tiparire(){
- for(i=1;i<=p;i++)cout<<x[i]<<" ";
- cout<<endl;}
- int valid (int q){
- int m=1;
- for(i=1;i<k;i++)
- if(q==x[i]){m=0;
- break;}
- if(q>x[k-1])m=1;
- else m=0;
- return m;
- }
- int backtracking(){
- k=1;
- x[k]=0;
- while(k>0){
- sem=0;
- while((x[k]<n)&&(sem==0)){
- x[k]=x[k]+1;
- if(valid(x[k])==1)sem=1;
- }
- if(sem==1)if(k==p){tiparire();
- r=r+1;}
- else {k=k+1;
- x[k]=0;}
- else k=k-1;}
- cout<<r;}
- int main (){
- cin>>n>>p;
- if(p>=n){cout<<"K trebuie sa fie mai mic strict decat n";
- cin>>p;}
- backtracking();}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement