每日一题洛谷P1025 [NOIP 2001 提高组] 数的划分c++

P1025 [NOIP 2001 提高组] 数的划分 - 洛谷 (luogu.com.cn)

cpp 复制代码
#include<iostream>
using namespace std;
int n, k;
int res = 0;
void dfs(int num,int step,int sum) {
	//判断
	if (sum == n) {
		if (step == k) {
			res++;
			return;
		}
	}
	if (sum > n || step == k)return;
	//搜索
	for (int i = num; i * (k - step) + sum <= n; i++) {
		dfs(i, step + 1, sum + i);
	}
}
int main() {
	cin >> n >> k;
	dfs(1, 0, 0);
	cout << res;
	return 0;
}
相关推荐
码农之王23 分钟前
记录一次,利用AI DeepSeek,解决工作中算法和无限级树模型问题
后端·算法
程序猿本员30 分钟前
线程池精华
c++·后端
靡樊44 分钟前
Socket编程UDP\TCP
网络·c++·学习·tcp/ip·udp
byte轻骑兵1 小时前
【C++高级主题】命令空间(五):类、命名空间和作用域
开发语言·c++
忘梓.2 小时前
从二叉树到 STL:揭开 set 容器的本质与用法
开发语言·c++
Alan3162 小时前
qt network 整体框架
c++
byte轻骑兵3 小时前
【C++高级主题】虚基类的声明
开发语言·c++
落羽的落羽3 小时前
【C++】二叉搜索树
开发语言·数据结构·c++·学习
编程绿豆侠3 小时前
力扣HOT100之二分查找: 34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
胡译胡说3 小时前
C语言的”代码化石“出土:1979年的英文文本判别器
c++·unix