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

忍者道具 忍者道具有很多种,苦无,飞镖,震爆弹。L君热衷于收集忍者道具,现在他有N个道具,每个道具的重量分别是C1、C2…CN。现在他想把这N个道具装到载重量为W的工具包里,请问他最少需要多少个工具包? 时间限制:1000 内存限制:65536 输入 第一行包含两个用空格隔开的整数,N和W。 接下来N行每行一个整数,其中第i+1行的整数表示第i个道具的重量Ci。 输出 输出一个整数,最少需要多少个工具包。 样例输入 5 1996 1 2 1994 12 29 样例输出 2 提示 对于100%的数据,1=N=18,1=Ci=W=10^8。

正确答案:参考程序(C++):忍者道具。N道具装W背包最少包数。N≤18可用回溯/搜索尽量装满每包,或位运算枚举分组。样例1 2 1994 12 29,W=1996→2。核心:回溯装箱。

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

本卷相关题目

在线做题 同科目题库