题库首页 › 信息素养大赛(C语言) › 题目 13670

中科智慧科技馆里面,科技课程导师要为同学们准备一些科普图书,方便大家阅读。 假设一共要选出 n 本书放在书架上,并且书的种类有 m 种,包括天文的、计算机的、物理的、化学的、生物的等等。老师会按照每个种类顺序固定的方式摆放好,以方便大家借阅。 假设给出每类书现有的数量,请求解出一共有多少种选书方案,也就是总共挑选出 n 本书(从每种图书中挑选不同的本数),一种有多少种摆放方案? 【输入格式】 第一行包含两个正整数,分别是 m 种书,和要摆放在书架上的 n 本书。 第二行,由空格隔开的每个种类书的数量。 【输出格式】 输出一行一个整数,表示有多少种图书的摆放方案。 注意:摆放方案数量可能很多,请输出方案数对 202307 取模的结果。 【样例输入】(测试数据不包含本样例) 2 4 3 2 【样例输出】 2

正确答案:参考程序(Python):m,n=map(int,input().split());cnt=list(map(int,input().split()));dp=[0]*(n+1);dp[0]=1;for c in cnt:for j in range(n,c-1,-1):for k in range(1,min(c,j)+1):dp[j]+=dp[j-k];print(dp[n]%202307)。样例2,4,(3,2)→2。核心:DP选书组合模。

试卷来源:2023全国青少年信息素养大赛C++算法创意实践挑战赛(小学组_复赛)真题

本卷相关题目

在线做题 同科目题库