Advertisement
Guest User

gfjdf

a guest
Oct 23rd, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int st[100],n;
  5. void init(int k)
  6. {
  7. st[k]=-1;
  8. }
  9. int numara1(int k)
  10. {
  11. int i,s=0;
  12. for(i=1;i<=k;i++)
  13. s=s+st[i];
  14. return s;
  15. }
  16. void succesor(int k,int &es)
  17. {
  18. if(st[k]<1){st[k]++;es=1;}
  19. else es=0;
  20. }
  21. void validare(int k,int &ev)
  22. { int n1;
  23. n1=numara1(k);
  24. if(n1<=k/2&&k-n1<=n/2)
  25. if(k-n1>=n1&&k-n1<=n/2)
  26. ev=1;
  27. }
  28. int solutie(int k)
  29. {
  30. if(k==n) return 1;
  31. else return 0;
  32. }
  33. void afisare(int k)
  34. {
  35. int i;
  36. for(i=1;i<=k;i++)
  37. if(st[i]==0)cout<<"(";
  38. else cout<<")";
  39. cout<<endl;
  40. }
  41.  
  42. void bkt()
  43. {
  44. int k,es,ev,i;
  45. k=1;init(1);
  46. while(k>0)
  47. {
  48. do
  49. {
  50. succesor(k,es);
  51. if(es) validare(k,ev);
  52. }while(es==1&&ev==0);
  53. if(es) if(solutie(k)) afisare(k);
  54. else{k++;init(k);}
  55. else k--;
  56. }
  57. }
  58. int main()
  59. {
  60. cin>>n;
  61. bkt();
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement