宇宙说|

Momo·Trace

园龄:3年3个月粉丝:6关注:1

货币系统

给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案。

其中1n,m10000

输入

第1行:两个数n(表示面值的种数) ,m(表示n种面值组成的总面值)

接下来n行,每行一个数,表示一种面值

输出

n种面值组成面值为m的货币的方案数。

样例

样例输入1

3 10
1
2
5

样例输出1

10

代码

#include <bits/stdc++.h>
using namespace std;
int val[25];
long long dp[10008];
int main()
{
int m,n,cnt=0;
cin >> n >> m;
for(int i=1;i<=n;i++)
{
cin >> val[i];
}
dp[0]=1;
for(int i=1;i<=n;i++)
{
for(int j=val[i];j<=m;j++)
{
dp[j]+=dp[j-val[i]];
}
}
cout << dp[m];
return 0;
}
posted @   Momo·Trace  阅读(22)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起