Facebook
From Round Frog, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 91
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. int st[11],n,c[5]={0,5,4,5,5};
  6. char cuv[5][7]={"","AEIOU","PRST","BMRTV","AEIOU"};
  7.  
  8. void tipar(int k)
  9. {
  10.     for(int i=1;i<=k;i++)
  11.         cout<<cuv[i][st[i]-1];
  12.     cout<<endl;
  13. }
  14.  
  15. int solutie(int k)
  16. {
  17.     return (k==n);
  18. }
  19.  
  20. int valid (int k)
  21. {
  22.     if(k==3 && cuv[3][st[k]-1]==cuv[2][st[2]-1])
  23.         return 0;
  24.     if(k==4 && cuv[4][st[k]]==cuv[1][st[1]])
  25.         return 0;
  26.     return 1;
  27. }
  28.  
  29. void bktr()
  30. {
  31.     int k=1;
  32.     st[k]=0;
  33.     while(k)
  34.     {
  35.         if(st[k]<c[k])
  36.            {
  37.                st[k]++;
  38.                 if(valid(k))
  39.                     if(solutie(k))
  40.                         tipar(k);
  41.                 else
  42.                 {
  43.                     k++;
  44.                     st[k]=0;
  45.                 }
  46.            }
  47.            else
  48.             k--;
  49.     }
  50. }
  51.  
  52. int main()
  53. {
  54.     n=4;
  55.     bktr();
  56.     return 0;
  57. }
  58.