Advertisement
patryk

Untitled

Jun 3rd, 2014
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. int algbruteforce(int n,int maxrozmiar,vector<int> &wagi,vector<int> &wartosci){  
  2.     int max=0, wartosc=0, rozmiar=0, i=1;  
  3.         vector<bool> wynik(n);    
  4.     vector<bool> permutacje;  
  5.         while(i<(pow(2,n))){        
  6.         permutacje.clear();        
  7.         int i2=i, it=0;        
  8.         while(i2>0){
  9.             permutacje.push_back(i2%2);
  10.             i2 /= 2;
  11.         }  
  12.             rozmiar=0, wartosc=0;        
  13.         for(int j=permutacje.size()-1;j>=0;j--){            
  14.             if(permutacje[j]){
  15.                 rozmiar+=wagi[j];
  16.                 wartosc+=wartosci[j];
  17.             }        
  18.         }        
  19.         if(rozmiar<=maxrozmiar){            
  20.             if(wartosc>max){                
  21.                 max = wartosc;                
  22.                 int j=0;                
  23.                 for (j=0;j<permutacje.size();j++) wynik[j]=permutacje[j];                
  24.                 for (int k=j;k<wynik.size();k++) wynik[k]=false;            
  25.             }        
  26.         }        
  27.         i++;    
  28.     }    
  29.     return max;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement