全排列和组合数区分

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

共同点:

  • 都是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;
}
相关推荐
白云千载尽1 分钟前
cosmos系列模型的推理使用——cosmos transfer2.5
算法·大模型·世界模型·自动驾驶仿真·navsim
2401_891450461 分钟前
基于C++的游戏引擎开发
开发语言·c++·算法
@Aurora.4 分钟前
优选算法【专题六_模拟】
算法
MicroTech20256 分钟前
微算法科技(NASDAQ :MLGO)探索量子Hadamard门技术,增强量子图像处理效率
图像处理·科技·算法
进击的小头7 分钟前
移动平均滤波器:从原理到DSP ADC采样实战(C语言实现)
c语言·开发语言·算法
历程里程碑7 分钟前
Linux 6 权限管理全解析
linux·运维·服务器·c语言·数据结构·笔记·算法
历程里程碑11 分钟前
双指针--双数之和
开发语言·数据结构·c++·算法·排序算法·哈希算法·散列表
好学且牛逼的马13 分钟前
【Hot100|13-LeetCode 56. 合并区间】
数据结构·算法·leetcode
123_不打狼19 分钟前
词嵌入模型
人工智能·算法
拼好饭和她皆失25 分钟前
图论:拓扑排序讲解,以及 Dijkstra算法,Bellman-Ford算法,spfa算法,Floyd算法模板大全
算法·图论·最短路