noj [1482] 嘛~付钱吧!(完全背包)

http://ac.nbutoj.com/Problem/view.xhtml?id=1482

  • [1482] 嘛~付钱吧!

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 大白菜带着套套去超市买好吃的,到了付钱的时候,收银员告诉大白菜需要付N元。

    大白菜突然想知道自己付钱有多少种方法,求助我们聪明的ACMER来告诉他,有几种付钱的方法。

    (已知,我天朝有,红色老人头,绿色老人头,黄色老人头(100,50,20,10,5,1)等等,ps:当大白菜带着套套的时候,他将化身无敌大款,各种老人头要多少有多少);

  • 输入
  • 输入的N都是整数(N<=1000)
  • 输出
  • 对于每个输入,请给出大白菜付钱的方法数
  • 样例输入
  • 1
    5
    10
  • 样例输出
  • 1
    2
    4
  • 完全背包不解释:
  •  #include <iostream>
    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <vector> using namespace std; int f[]; int main()
    {
    int w[]={,,,,,};
    int n;
    memset(f,,sizeof(f));
    f[]=;
    int i,j;
    for(i=;i<;i++)
    {
    for(j=w[i];j<=;j++)
    {
    if(f[j-w[i]]!=)
    {
    f[j]+=f[j-w[i]];
    }
    }
    }
    f[]=;
    while(~scanf("%d",&n))
    {
    printf("%d\n",f[n]);
    }
    return ;
    }

    最后记得将f[0]=0,不然WA

上一篇:Unity User Group深圳站——Timeline & Cinemachine分享


下一篇:System.InvalidOperationException: 无法加载协定为“ServiceReference1.XXXXXXXXXXXXXXXX”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。