您的位置:首页 > 其它

usaco2.3.4货币系统

2014-07-12 20:09 351 查看
看完《背包九讲》就会了,主要是背包的变形,求方案数,只需讲转移方程的max改成sum即可。

#include<iostream>

#include<cstdio>

#include<cstdlib>

using namespace std;

int s[30];

long long f[10010];

int main()

{

  freopen("money.in","r",stdin);

  freopen("money.out","w",stdout);

  int n,v;

  cin>>n>>v;

  for(int i=1;i<=n;i++){

    cin>>s[i];

  }

  f[0]=1;

  for(int i=1;i<=n;i++){

    for(int j=s[i];j<=v;j++)

          f[j]+=f[j-s[i]];

  }

  cout<<f[v]<<endl;

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: