P6205 [USACO06JAN] Dollar Dayz S
题目描述
FJ 到商场买工具。商场里有 K K K 种工具( 1 ≤ K ≤ 100 1 \leq K \leq 100 1≤K≤100),价格分别为 1 , 2 , … , K 1,2,\ldots,K 1,2,…,K 元。FJ 手里有 N N N 元( 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1≤N≤1000),必须花完。他有多少种购买方案呢?
输入格式
一行两个整数 N , K N,K N,K。
输出格式
输出不同的购买方案数。
输入输出样例 #1
输入 #1
5 3
输出 #1
5
C++实现
#include <cstdio>
#include <cstring>
using namespace std;
#define rei register int
#define FOR(i, l, r) for(rei i = l; i <= r; ++i)
int f[1001];
int n, m;
int print(int 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)
FOR(j, i, m)
f[j] += f[j - i];
print(f[m]);
putchar(10);
return 0;
}
后续
接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容