zoukankan      html  css  js  c++  java
  • 51nod 1101 换零钱 (完全背包)

    N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。
    例如:5分钱换为零钱,有以下4种换法:
    1、5个1分
    2、1个2分3个1分
    3、2个2分1个1分
    4、1个5分
    (由于结果可能会很大,输出Mod 10^9 + 7的结果)
     

    输入

    输入1个数N,N = 100表示1元钱。(1 <= N <= 100000)

    输出

    输出Mod 10^9 + 7的结果

    输入样例

    5

    输出样例

    4

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 #include <cstring>
     5 using namespace std;
     6 const int maxn=10000005;
     7 const int mod=1e9+7;
     8 int n,m;
     9 int w[13]{1,2,5,10,20,50,100,200,500,1000,2000,5000,10000};
    10 int dp[maxn];
    11 int main()
    12 {
    13     while(cin>>n){
    14         memset(dp,0,sizeof(dp));
    15         dp[0]=1;
    16         for(int i=0;i<13;i++){
    17             for(int j=w[i];j<=n;j++){
    18                 dp[j]+=dp[j-w[i]];
    19                 dp[j]%=mod;
    20             }
    21         }
    22         cout<<dp[n]<<endl;
    23     }
    24     return 0;
    25 } 
  • 相关阅读:
    brctl 使用说明
    Flash文件系统介绍和平台采用squashfs+ubifs原因
    xargs
    svn的常用命令
    shell中的if用法
    shell中单双引号
    删除文件中的 ^M 字符
    博客园添加live2d看板娘
    IOS 自定义转场动画
    rails
  • 原文地址:https://www.cnblogs.com/wydxry/p/10578310.html
Copyright © 2011-2022 走看看