这题怎么做!求大神帮忙看一下

 源程序文件名:selectm.cpp 读入 n (<=100)个不同正整数(<=105)如何选出 k(<=100)个整数,使得他们的和是 m(<=107)。 列出多少种可能。 输入格式: 输入文件名为 selectm.in。第一行 3 个正整数,分别是 n,k,m,第二行为 n 个不同的正 整数,空格分割。 输出格式: 输出文件名为 selectm.out。一行,一个整数,表示有多少可能。 输入样例:
5  3  7
5 2 3 4 1
输出样例: 1 样例说明: 5 个数字,和是 7,输出有几种可能使得选出的 3 个数字和是 7,这里输出 1,因为选择 3 个数字,只有 2+4+1=7。

输入样例 2:
10  4  20
9 8 7 10 2 1 4 5 12 20
输出样例 2:
6

全部评论
先对数组排序 外层循环遍历数组所有元素i从0到n-1 dp[j][k]代表前在i个元素中j个数字组成和为k的方案数 稍微剪枝一下
1
送花
回复 分享
发布于 2020-06-14 11:28
发一下程序行吗?
点赞
送花
回复 分享
发布于 2020-06-14 12:29
国泰君安
校招火热招聘中
官网直投

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务