noiopenjudge6049:买书
代~码~通~俗~易~懂~
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cstdlib>
using namespace std;
#define MAXN (1100)
const int k[] = {0,10,20,50,100};
int dp[MAXN];
int main()
{
int n;
cin >> n;
dp[0] = 1;
for(int i = 1; i <= 4; ++ i)
for(int j = n; j >= k[i]; -- j)
for(int l = 1; l <= j/k[i]; ++ l)
dp[j] += dp[j-l*k[i]];
if(!n) dp[n] = 0;
cout << dp[n] << endl;
return 0;
}

本文介绍了一个关于买书问题的动态规划算法实现。通过使用动态规划方法来解决特定问题,即如何用最少的钱购买一定数量的书。该算法考虑了不同价格的书并计算出所有可能的组合方式。
3745

被折叠的 条评论
为什么被折叠?



