Advertisement
Guest User

partitii

a guest
Nov 22nd, 2019
149
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 sol, n, x[100];
  5. void init(int k)
  6. {
  7. x[k]=0;
  8. }
  9. int existaSuccesor(int k)
  10. {
  11. return x[k]<k;
  12. }
  13. int cont(int k)
  14. {
  15. return 1;
  16. }
  17. int solutie(int k)
  18. {
  19. return k==n;
  20. }
  21. void tipar()
  22. {
  23. sol++;
  24. for(int i=1; i<=n; i++)
  25. {
  26. for(int j=1; j<=n; j++)
  27. if(x[j]==i)
  28. cout<<j<<" ";
  29. cout<<endl;
  30. }
  31. cout<<endl;
  32. }
  33. void back()
  34. {
  35. int k=1;
  36. init(1);
  37. while(k>0)
  38. {
  39. if(existaSuccesor(k))
  40. {
  41. x[k]++;
  42. if(cont(k))
  43. if(solutie(k))
  44. tipar();
  45. else
  46. {
  47. k++;
  48. init(k);
  49. }
  50. }
  51. else
  52. k--;
  53. }
  54. }
  55. int main()
  56. {
  57. cout<<"cate persoane sunt? "; cin>>n;
  58. cout<<"Submultimile de bisericute sunt: "<<endl;
  59. back();
  60. return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement