Advertisement
-LIR-

Plata1

Sep 25th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. ifstream fin("produscartezian2.in");
  8. ofstream fout("produscartezian2.out");
  9.  
  10. int n;
  11. int k;
  12. bool ok = true;
  13. vector<int> V;
  14. vector<int> B;
  15.  
  16. void Citire()
  17. {
  18.     cin >> n;
  19.     cin >> k;
  20.     int info;
  21.     for( int i=1 ; i<=n ; i++ )
  22.     {
  23.         cin >> info;
  24.         B.push_back(info);
  25.     }
  26.     for( int i=1 ; i<=n ; i++ )
  27.     {
  28.         cin >> info;
  29.         V.push_back(info);
  30.     }
  31. }
  32.  
  33. void AfisareVector(vector<int> Vector)
  34. {
  35.     for( int i=0 ; i<Vector.size() ; i++ )
  36.         cout << Vector[i] << " ";
  37.     cout << endl;
  38. }
  39.  
  40. bool Valid(vector<int> Vector, int element )
  41. {
  42.     for( int i=0 ; i<Vector.size() ; i++ )
  43.         if( Vector[i] == element )
  44.             return false;
  45. }
  46.  
  47. void BKT(vector<int> Vector, int s)
  48. {
  49.     if(Vector.size() == n )
  50.     {
  51.         if( k == s )
  52.         {
  53.             if( ok )
  54.             {
  55.                 AfisareVector(Vector);
  56.                 ok = false;
  57.             }
  58.         }
  59.     }
  60.     else
  61.     {
  62.         for( int element=0; element<=V[Vector.size()] ; element++ )
  63.         {
  64.             if( s <= k )
  65.             {
  66.                 Vector.push_back(element);
  67.                 if( ok )
  68.                     BKT(Vector,s+B[Vector.size()-1]*element);
  69.                 Vector.erase(Vector.begin()+Vector.size()-1);
  70.             }
  71.         }
  72.     }
  73. }
  74.  
  75. int main()
  76. {
  77.     Citire();
  78.  
  79.     vector<int> Vector;
  80.     BKT(Vector,0);
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement