题目如下
给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案。
我的代码如下
#include<iostream>
using namespace std;
int money[100000];
long long ans;
int n,m;
void f(int x,int t)
{
if(x > m) return ;
if(x == m)
{
ans++;
return ;
}
for(int i = t;i <= n;i++)
{
f(x+money[i],i);
}
}
int main()
{
cin >> n >> m;
for(int i = 1;i <= n;i++)
{
cin >> money[i];
}
f(0,1);
cout<<ans;
return 0;
}
可是会超时,有没有dalao帮一下
如果有帮助我会关注你,并且不在意你是否回关