题解分享
题解分享简介
[USACO 2.3.4] Money Systems 货币系统 - 题解
题目中范围有问题,n取值应该为30,简单的完全背包组合问题
```
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e4 + 10;
int dp[30][N];
int a[N];
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,m;cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i],dp[i][a[i]] = 1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(j>a[i])
dp[i][j] = dp[i-1][j] + dp[i][j-a[i]];
else
dp[i][j] += dp[i-1][j];
}
}
cout<<dp[n][m]<<endl;
return 0;
}
```
查看全文
0
0
0
6



