GESP C++ 真题 · 逐题精解
首页C++六级真题 › 2024年9月 › 第15题

GESP 2024年9月 C++六级 单选题 第15题

C++六级单选题2024年9月第15题

所属知识点:简单背包问题 难度要求:— 考频:—

0-1 背包:容量 W=10,4 个物品重量 1,3,4,6,价值 20,30,50,60,下面 DP 函数的输出为:
int knapsack(int W, vector<int>& weights, vector<int>& values, int n) {
    vector<vector<int>> dp(n+1, vector<int>(W+1, 0));
    for (int i = 1; i <= n; ++i)
        for (int w = 0; w <= W; ++w)
            if (weights[i-1] <= w)
                dp[i][w] = max(dp[i-1][w], dp[i-1][w-weights[i-1]] + values[i-1]);
            else
                dp[i][w] = dp[i-1][w];
    return dp[n][W];
}

正确答案:C

题目解析

在容量 10 内选取:{1,3,6}(重 10,值 20+30+60=110………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习