全排列和组合数区分

全排列传送门
组合数传送门

共同点:

  • 都是dfs深搜
  • 区别点在于组合数要去重 在dfs函数中加一个条件参数
cpp 复制代码
bool num[23];//判断重复数组
int ans[23];//返回结果数组
//组合数给定参数n和长度k的组合'
int k,n;
dfs(int deep,int last)
{
	if(deep>k){
		for(int i=1;i<=k;i++) cout<<res<<" ";
		cout<<endl;
		return;
	}
	for(int i=1;i<=n;i++){
		if(num[i]==false&&i>last){//全排列是没有i>last的
			num[i]=true;
			ans[deep]=i;//存值
			dfs(deep+1,i);
			num[i]]=false;//回溯
		}
	}
}
int main(
{	
cin>>n>>k;
dfs(1,0);
return 0;
}
相关推荐
2301_765703142 分钟前
C++中的策略模式应用
开发语言·c++·算法
TGITCIC3 分钟前
RAG不是魔法,是工程:从知识库到企业部署的硬核实践
人工智能·算法·机器学习·rag·ai agent·ai开发·rag增强检索
求梦82010 分钟前
【力扣hot100题】两两交换链表中的节点(25)
算法·leetcode·链表
passxgx11 分钟前
12.1 均值、方差与概率
算法·均值算法·概率论
血小板要健康22 分钟前
189.轮转数组,力扣
数据结构·算法·leetcode
项目申报小狂人23 分钟前
CEC2024获胜算法mLSHADE-RL:具有重新启动和本地搜索机制的多操作员集成LSHADE
算法
Faker66363aaa23 分钟前
YOLOv26人脸检测算法实现与优化_2
算法·yolo
蒟蒻的贤24 分钟前
set和map
算法
格林威28 分钟前
Baumer相机铁轨表面裂纹巡检:提升铁路安全监测能力的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·安全·计算机视觉·分类
m0_6860416130 分钟前
C++中的装饰器模式变体
开发语言·c++·算法