题解 P6205 【[USACO06JAN]Dollar Dayz S】
IntrepidStrayer · · 题解
题意:
有
题解:
算法:完全背包
设
其中
此题的答案超出了
代码:
#include <cstdio>
#include <cstring>
using namespace std;
#define rei register int
#define FOR(i, l, r) for(rei i = l; i <= r; ++i)
typedef __int128 ll;
ll f[1001];
int n, m;
int print(ll x) {//快写
if(x == 0) return putchar(48) + putchar(10);
if(x >= 10) print(x / 10);
putchar(x % 10 + 48);
}
signed main() {
scanf("%d%d", &m, &n);
f[0] = 1;
FOR(i, 1, n)//外层循环枚举物品,内层循环枚举钱数,保证f[j-i]用到时已经计算过
FOR(j, i, m)
f[j] += f[j - i];
print(f[m]);
putchar(10);//换行
return 0;
}