P1157 组合的输出 (dfs深搜)

题目连接:P1157 组合的输出 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)


思路:


AC代码:

cpp 复制代码
#include<iostream>
#include<cstring>

using namespace std;

const int N = 30;
int st[N];//用来存这个数用没用过(1~n个数) 
int n,r;

//求组合数,u表示当前到了哪个位置,start表示现在用到了1~n哪个数 
void dfs(int u,int start)
{
	//剪枝优化 
	if((u-1) + (n-start+1) < r) return;
	if(u>r) 
	{
		for(int i=1;i<=r;i++)
		{
			printf("%3d",st[i]);
		}
		puts("");//换行,比printf()快 
		return;
	}
	//从start开始保证了后一个数一定大于前一个数 
	for(int i=start;i<=n;i++)
	{
		st[u] = i;//标记 
		dfs(u+1,i+1);//向下搜索 
		st[u] = 0;//恢复现场 
	}
}

int main()
{
	cin >> n >> r;
	dfs(1,1);//刚开始从第一个位置和数字1开始 
	return 0;
}
相关推荐
Lumbrologist9 分钟前
【C++】零基础入门 · 第 13 节:类与对象基础
java·c++·算法
LONGZETECH16 分钟前
软硬协同+故障注入:无人机仿真维修与操控仿真底层算法逻辑拆解
大数据·c语言·算法·3d·unity·无人机
Lsk_Smion19 分钟前
力扣实训 _ [543].二叉树的直径 _ [23].合并K个升序列表
数据结构·算法·leetcode
凯瑟琳.奥古斯特1 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
耶叶1 小时前
餐厅出入最少人数问题:贪心算法
算法·贪心算法
gihigo19981 小时前
基于小波框架与稀疏表示的SAR图像目标识别系统(MATLAB实现)
算法
吴可可1232 小时前
CAD2004自定义实体开发环境配置
c++·算法
装不满的克莱因瓶2 小时前
矩阵的主成分是什么?主成分分析(PCA)又能做什么?
人工智能·线性代数·算法·机器学习·ai·矩阵·pca
大菜菜小个子2 小时前
template<typename T>使用
java·开发语言·算法