题库首页 › 信息素养大赛(Python) › 题目 19740

马帮驮队·物尽其用(递归 / 0-1背包计数)【题目描述】茶马古道上,马帮有 n 种物资(每种只有一件),重量分别为 w1, w2, …, wn。马匹的最大载重为 capacity。帮主想知道恰好满载的装载方案一共有多少种(不同物资组合视为不同方案,顺序无关)。请你编写递归函数 count_ways(weights, capacity, idx) 求解。输入物资重量列表和载重,输出方案数。(0 ≤ 重量, capacity ≤ 200,物资数 ≤ 20)【输入格式】第一行:两个整数 n 和 capacity第二行:n 个整数,表示每件物资的重量【输出格式】一个整数,方案总数

正确答案:参考程序(Python):def count_ways(weights,capacity,idx):if capacity==0:return 1;if idx==len(weights) or capacity<0:return 0;return count_ways(weights,capacity-weights[idx],idx+1)+count_ways(weights,capacity,idx+1);n,cap=map(int,input().split());w=list(map(int,i

试卷来源:2026信息素养大赛智传民韵Python小高组(小学4-6年级_复赛)模拟卷(三)

本卷相关题目

在线做题 同科目题库