Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Apr 1st, 2020 101 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. #include<vector>
  3. #include <algorithm>
  4.  
  5. struct obiekt
  6. {
  7.   int waga;
  8.   int wartosc;
  9.   std::string nazwa;
  10. };
  11.  
  12. std::vector <obiekt> vec;
  13.  
  14.   void Bellman(obiekt* pierw, int n, int udzwig)
  15.   {
  16.       int wartosc[udzwig+1][n];
  17.       int cowloz[udzwig+1][n];
  18.      
  19.       for(int i = 1; i < n; i++)
  20.       {
  21.         for(int i2=1; i2<=udzwig; i2++)
  22.         {
  23.           if(i2 >= pierw[i].waga && wartosc[i-1][i2] < wartosc[i][i2-pierw[i].waga] + pierw[i].wartosc)
  24.           {
  25.             wartosc[i][i2] = wartosc[i][i2 - pierw[i].waga] + pierw[i].wartosc;
  26.             cowloz[i][i2] = (i+1);
  27.           }
  28.          
  29.           else
  30.           {
  31.             wartosc[i][i2] = wartosc[i-1][i2];
  32.             cowloz[i][i2] = cowloz[i-1][i2];
  33.           }
  34.         }
  35.       }
  36.       int udz2 = udzwig;
  37.    
  38.     do
  39.     {
  40.         vec.push_back(pierw[cowloz[n-1][udz2]]);
  41.         udz2 -= pierw[cowloz[n-1][udz2]].waga;
  42.       } while(udz2>0);
  43.      
  44.     int w = wartosc[n-1][udzwig];
  45. }
  46.  
  47.  
  48. int main()
  49. {
  50.  
  51.   int n; int udzwig;
  52.  
  53.   std::cout<<"\nWpisz udzwig plecaka:  ";
  54.   std::cin>>udzwig;
  55.  
  56.   std::cout<<"\nWpisz ilosc przedmiotow na liscie:  ";
  57.   std::cin>>n;
  58.  
  59.   obiekt tab[n];
  60.  
  61.   for(int i=0; i<n; ++i)
  62.   {
  63.     std::cout<<"\n\n\nWpisz nazwe przedmiotu:  ";
  64.     std::cin>>tab[i].nazwa;
  65.     std::cout<<"Wpisz wartosc przedmiotu:  ";
  66.     std::cin>>tab[i].wartosc;
  67.     std::cout<<"Wpisz wage przedmiotu:  ";
  68.     std::cin>>tab[i].waga;
  69.   }
  70.  
  71.   Bellman(tab, n, udzwig);
  72.  
  73.   std::cout<<"Do plecaka włożone zostaną: ";
  74.   for(int i=0; i<vec.size(); ++i)
  75.   {
  76.     if(i==vec.size()-1) {std::cout<<vec[i].nazwa<<'.'; return 0;}
  77.    
  78.     std::cout<<vec[i].nazwa<<','<<' ';
  79.   }
  80. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top