打卡信奥刷题(1539)用C++实现信奥 P6205 [USACO06JAN] Dollar Dayz S

P6205 [USACO06JAN] Dollar Dayz S

题目描述

FJ 到商场买工具。商场里有 K K K 种工具( 1 ≤ K ≤ 100 1 \leq K \leq 100 1K100),价格分别为 1 , 2 , … , K 1,2,\ldots,K 1,2,,K 元。FJ 手里有 N N N 元( 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1N1000),必须花完。他有多少种购买方案呢?

输入格式

一行两个整数 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考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值