当前位置: 首页 > news >正文

全排列和组合数区分

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

共同点:

  • 都是dfs深搜
  • 区别点在于组合数要去重 在dfs函数中加一个条件参数
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;
}

http://www.mrgr.cn/news/42873.html

相关文章:

  • 编程技巧:优化
  • c#代码介绍23种设计模式_17观察者模式
  • 网上的ai写论文可靠吗?分享市面上7款AI论文写作网站
  • HBuilderX连接MuMu模拟器最简单的方法
  • 基于MATLAB的安全帽检测系统
  • 程序员必备!面向Prompt编程全攻略
  • GPTQ vs AWQ vs GGUF(GGML) 速览和 GGUF 文件命名规范
  • python习题2
  • idea插件开发的第六天-开发一个笔记插件
  • 等额本金和等额本息是什么意思?
  • 数据挖掘-padans初步使用
  • 数字 1 出现的个数
  • [图形学]smallpt代码详解(1)
  • 现在的新电脑在任务管理器里又多了个NPU?它是啥?
  • 项目-坦克大战学习-爆炸特效消除
  • 昇思学习打卡营学习记录:CycleGAN壁画修复
  • Linux:无法为立即文档创建临时文件: 设备上没有空间
  • PHP数组
  • 嵌入式C语言自我修养:编译链接
  • Studying-多线程学习Part2 - 互斥量死锁、lock_guard 与 unique_lock、call_once与其使用场景