题库首页 › 青少年软件编程(C语言) › 题目 4659

硬币问题 有N(不大于100)种硬币,编号为1至N,已知每种硬币的重量(不超过100的正整数)和面额(不超过100的正整数),每种硬币数量不限。选取总重量不超过C(不大于1000的正整数)的硬币,最多能获得多少总面额? 时间限制:1000 内存限制:65536 输入 第一行输入N 第二行输入C 第三行输入各硬币重量,用空格隔开 第四行输入各硬币价值,用空格隔开 输出 最大总面额 样例输入 3 5 1 2 5 1 3 6 样例输出 7

正确答案:参考程序(C++):硬币完全背包。总重量≤C求最大面额。dp[w]=max(dp[w],dp[w-a[i]]+v[i]),完全背包正序更新。样例输出7。核心:完全背包最大价值。

试卷来源:202206 青少年等级考试C/C++真题四级

本卷相关题目

在线做题 同科目题库