AlexandruDu

Problema Combinatorica 2

Oct 20th, 2020
738
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int st[27],n,p;
  5. void tipar(int k)
  6. {
  7.     for(int i=1;i<=k;i++)
  8.         cout<<(char)(st[i]+64);
  9.         cout<<endl;
  10. }
  11. int solutie (int k)
  12. {
  13.     return(k==p);
  14. }
  15. int valid(int k)
  16. {
  17.     if((k>1)&& (st[k]<=st[k-1]))
  18.          return 0;
  19.          else
  20.          return 1;
  21. }
  22. void bktr()
  23. {
  24.     int k=1;
  25.     int st[k]=0;
  26.     while(k>0)
  27.     {
  28.         if(st[k]<n)
  29.         {
  30.             st[k]++;
  31.             if(valid(k))
  32.                 if(solutie(k))
  33.                 tipar(k);
  34.             else
  35.             {
  36.                 k++;
  37.                 st[k]=st[k-1];
  38.             }
  39.         }
  40.         else k--;
  41.     }
  42. }
  43. int main()
  44. {
  45.     cin>>n>>p;
  46.       bktr();
  47.  
  48.  
  49.     return 0;
  50. }
  51.  
RAW Paste Data