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