P1025 [NOIP2001 提高组] 数的划分

暴搜 剪枝

枚举固定的位置

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e3+10;
int n,k;
int res;
void dfs(int last,int sum,int cur){
	
	if(cur==k){
		if(sum==n)res++;
		return;
	}
	
	for(int i=last;i+sum<=n;i++)
	 dfs(i,sum+i,cur+1);
}
int main()
{
	cin>>n>>k;
	dfs(1,0,0);
	cout<<res;
}
相关推荐
(❁´◡`❁)Jimmy(❁´◡`❁)1 分钟前
【算法】 二分图理论知识和判断方法
c++·算法
徐子童6 分钟前
优选算法---哈希表
数据结构·算法·哈希表
疑惑的杰瑞8 分钟前
掌握 C 语言流程控制:分支、循环、goto 与表达式求值详解
c语言·开发语言·算法·算术转换
im_AMBER15 分钟前
Leetcode 85 【滑动窗口(不定长)】最多 K 个重复元素的最长子数组
c++·笔记·学习·算法·leetcode·哈希算法
B_lack02619 分钟前
字节转换算法应用_读取本地时间
数据结构·算法·数组·西门子plc·博途·时间处理·scl
leiming627 分钟前
c++ string 容器
开发语言·c++·算法
wljun7391 小时前
六、OrcaSlicer 切片之区域
算法·切片软件 orcaslicer
2401_841495641 小时前
【LeetCode刷题】跳跃游戏Ⅱ
数据结构·python·算法·leetcode·数组·贪心策略·跳跃游戏
leaves falling1 小时前
动态规划讲解
算法·动态规划
钓鱼的肝2 小时前
GESP系列(3级)小杨的储蓄
开发语言·数据结构·c++·笔记·算法·gesp