当前位置: 代码迷 >> 综合 >> [openjudge-动态规划]买书
  详细解决方案

[openjudge-动态规划]买书

热度:81   发布时间:2023-10-22 22:42:03.0

题目描述

描述

小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)

输入

一个整数 n,代表总共钱数。(0 <= n <= 1000)

输出

一个整数,代表选择方案种数

样例输入

样例输入1:

20

样例输入2:

15

样例输入3:

0

样例输出

样例输出1:

2

样例输出2:

0

样例输出3:

0 

题目描述

01背包问题

代码实现

//背包
#include<iostream>
#include<cstdio> 
using namespace std;
int n,a[1200]={
   0},money[5]={
   0,10,20,50,100};//用数组
int main()
{ scanf("%d",&n);if(n==0){
   printf("0\n");return 0;}a[0]=1;for(int i=1;i<=4;i++)for(int j=money[i];j<=n;j++)//枚举容量a[j]+=a[j-money[i]];printf("%d",a[n]);return 0;
}