Advertisement
Guest User

3/19 - Cotoc Alexandru

a guest
Sep 22nd, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5. int st[100];
  6. int m[100]={0,4,5,3}, pret[4][13], kcal[4][13], s, c;
  7. int n,ev,as;
  8. ifstream f("date.in");
  9. void init(int k)
  10. {
  11.     st[k]=0;
  12. }
  13. int succesor(int k)
  14. {
  15.     if(st[k]<m[k])
  16.     {
  17.         st[k]=st[k]+1;
  18.         return 1;
  19.     }
  20.     else
  21.         return 0;
  22. }
  23. int valid(int k)
  24. {
  25.     return 1;
  26. }
  27. int solutie(int k)
  28. {
  29.     int sum, kcalsum;
  30.     sum=0;kcalsum=0;
  31.     for(int i=1;i<n+1;i++)
  32.     {
  33.         sum+=pret[i][st[i]];
  34.         kcalsum+=kcal[i][st[i]];
  35.     }
  36.     if(sum<=s && kcalsum<=c && k==n)
  37.         return 1;
  38.     else
  39.         return 0;
  40. }
  41.  void tipar()
  42. {
  43.     for(int i=1;i<=n;i++)
  44.         cout<<st[i]<<" ";
  45.     cout<<endl;
  46. }
  47. void bkt(int k)
  48. {
  49.     init(k);
  50.     while(succesor(k))
  51.         if(valid(k))
  52.             if(solutie(k))
  53.                 tipar();
  54.             else
  55.                 bkt(k+1);
  56. }
  57. int main()
  58. {
  59.     n=3;
  60.     f>>s>>c;
  61.     for(int i=1;i<n+1;i++)
  62.         for(int j=1;j<m[i]+1;j++)
  63.             f>>pret[i][j];
  64.     for(int i=1;i<n+1;i++)
  65.         for(int j=1;j<m[i]+1;j++)
  66.             f>>kcal[i][j];
  67.     bkt(1);
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement