- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。
问小明有多少种买书方案?(每种书可购买多本)
- 输入
- 一个整数 n,代表总共钱数。(0 <= n <= 1000)
- 输出
- 一个整数,代表选择方案种数
- 样例输入
-
样例输入1:20样例输入2:15样例输入3:0
- 样例输出
-
样例输出1:
-
2
-
样例输出2:
-
0
-
样例输出3:
-
0
-
#include <iostream> #include<algorithm> #include<string.h> using namespace std; const int maxn=150; #define ll long long int f[1005]; int a[4]={10,20,50,100}; int main() { int n; scanf("%d",&n); memset(f,0,sizeof(f)); f[0]=1; for(int j=0;j<4;j++){ for(int i=0;i<=n;i++){ if(i-a[j]>=0){ f[i]+=f[i-a[j]]; } } } printf("%d\n",f[n]); return 0; }