Advertisement
hegemon88676

Untitled

Oct 27th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream f("unu.in");
  5. int n, k, a[100][100], x[100], maxi=0, v[100];
  6. void Init()
  7. {
  8. x[k]=0;
  9. }
  10. int AmSuccesor()
  11. {
  12. if(x[k]<4)
  13. {
  14. x[k]++;
  15. return 1;
  16. }
  17. return 0;
  18. }
  19. int EValid()
  20. {
  21. if(k>1)
  22. {
  23. if(x[k]<x[k-1])
  24. return 0;
  25. if(x[k]-x[k-1]>1)
  26. return 0;
  27. }
  28. if(x[1]!=1)
  29. return 0;
  30. return 1;
  31. }
  32. int Solutie()
  33. {
  34. return (k==4);
  35. }
  36. void Tipar()
  37. {
  38. int i, s=0;
  39. for(i=1;i<k;i++)
  40. {
  41. cout<<a[i][x[i]]<<"+";
  42. s=s+a[i][x[i]];
  43. }
  44. s=s+a[k][x[k]];
  45. cout<<a[k][x[k]]<<"="<<s<<endl;
  46. if(s>maxi)
  47. {
  48. maxi=s;
  49. for(i=1;i<=n;i++)
  50. v[i]=x[i];
  51. }
  52. }
  53. void Back()
  54. {
  55. k=1;
  56. Init();
  57. int as, ev;
  58. while(k>0)
  59. {
  60. do
  61. {
  62. as=AmSuccesor();
  63. ev=EValid();
  64. }while(as==1 && ev==0);
  65. if(as==1)
  66. if(Solutie()==1)
  67. Tipar();
  68. else
  69. {
  70. k++;
  71. Init();
  72. }
  73. else
  74. k--;
  75. }
  76. }
  77. int main()
  78. {
  79. f>>n;
  80. int i, j;
  81. for(i=1;i<=n;i++)
  82. for(j=1;j<=i;j++)
  83. f>>a[i][j];
  84.  
  85. Back();
  86. cout<<"suma max ="<<maxi<<" cu termenii:";
  87. for(i=1;i<=n;i++)
  88. cout<<a[i][v[i]];
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement