Exemplo n.º 1
0
//****Main****
int main(){
    display();
    knap(ratio);    //enum promoted to int, XXX NOTE reverse(int to enum) not valid
    displayTaken();
    knap(load);
    displayTaken();
    knap(price);
    displayTaken();
    return 0;
}
int knap(int cap)
{
  int i, space, max, t;

  for (i = 0, max = 0; i < N; i++)
    if ((space = cap-items[i].size) >= 0)
      if ((t = knap(space) + items[i].val) > max)
	max = t;
  return max;
}
Exemplo n.º 3
0
int knap(int cap)
{ int i, space, max, t;
  for (i = 0, max = 0; i < 5; i++)
    if ((space = cap - item[i].size) >= 0)
      if ((t = knap(space) + item[i].val) > max)
      {
           max = t;
           printf("max is %d\n", max);
      }
  return max;
}
Exemplo n.º 4
0
int main(){
    int v[3] = {60,100,120};
    int w[3] = {10,20,30};
    clock_t t = clock();
    std::cout << knap(w,v,3,50) << std::endl;
    std::cout << (clock() - (float)t)/CLOCKS_PER_SEC << std::endl;

    t = clock();
    std::cout << knapsack(w,v,3,50) << std::endl;
    std::cout << (clock() - (float)t)/CLOCKS_PER_SEC << std::endl;
    return 0;
}
int main(void) 
{
  items[0].size = 3;
  items[0].val = 4;
  items[1].size = 4;
  items[1].val = 5;
  items[2].size = 7;
  items[2].val = 10;
  items[3].size = 8;
  items[3].val = 11;
  items[4].size = 9;
  items[4].val = 13;
  printf("%d\n", knap(17));
  return 0;
}
Exemplo n.º 6
0
int main(void)
{
   init(item);
   knap(17);
   return 0;
}
Exemplo n.º 7
0
int knap(int w[],int v[],int n,int weight){
    if(n == 0) return 0;
    if(w[n-1] > weight) return knap(w,v,n-1,weight);
    return std::max(knap(w,v,n-1,weight-w[n-1])+v[n-1], knap(w,v,n-1,weight));
}