全排列和组合数区分

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

共同点:

  • 都是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;
}
相关推荐
萧西待水4 小时前
奥赛一本通 1447 靶形数独
算法·深度优先
泯泷6 小时前
那段文字是谁删的?Yjs 14 正式版之前,一套删除归属方案的实现与边界
前端·javascript·算法
hold?fish:palm6 小时前
34 合并K个升序链表
javascript·算法·链表
Navigator_Z9 小时前
LeetCode //C - 1252. Cells with Odd Values in a Matrix
c语言·算法·leetcode
语戚10 小时前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
青山木10 小时前
Hot 100 --- 最长有效括号
java·数据结构·算法·leetcode·动态规划
这料鬼有毒12 小时前
二刷hot100-1143.最长公共子序列
算法·leetcode·动态规划
政企项目老覃13 小时前
边缘 AI 推理部署:安防零售场景下的模型裁剪与端侧落地实践
人工智能·程序人生·算法·性能优化·vllm
GreenTea14 小时前
发布 3 天登顶 HN:不生成一个字的模型 Jev,我把它的源码和黑料都扒了一遍
前端·后端·算法
庖丁解牛15 小时前
无穷小不是一个“神秘小数”,而是一场奔向 0 的过程
算法