小编use*_*877的帖子

C++实现的背包分支和绑定

我正在尝试使用分支和边界来解决这个背包问题的C++实现.这个网站上有一个Java版本:实现分支和绑定背包

我正在努力让我的C++版本打印出它应该的90,但它没有这样做,相反,它打印出5.

有谁知道问题出在哪里?

#include <queue>
#include <iostream>
using namespace std;

struct node
{
    int level;
    int profit;
    int weight;
    int bound;
};

int bound(node u, int n, int W, vector<int> pVa, vector<int> wVa)
{
    int j = 0, k = 0;
    int totweight = 0;
    int result = 0;

    if (u.weight >= W)
    {
        return 0;
    }
    else
    {
        result = u.profit;
        j = u.level + 1;
        totweight = u.weight;

        while ((j < n) && (totweight + wVa[j] <= …
Run Code Online (Sandbox Code Playgroud)

c++ knapsack-problem branch-and-bound

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

branch-and-bound ×1

c++ ×1

knapsack-problem ×1