目录

1  n个数参与n层全排列

2  n个数参与m层全排列(n>=m)

3  前n个数的所有组合


1  n个数参与n层全排列

#include <bits/stdc++.h>
using namespace std;int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
bool vis[20];
int b[20];
int n;
void dfs(int s)
{if(s==n){for(int i=0;i<n;i++){cout<<b[i]<<' ';}cout<<endl;return;}for(int i=0;i<n;i++){if(!vis[i]){vis[i]=true;b[s]=a[i];dfs(s+1);vis[i]=false;}}return;
}int main()
{cin>>n;dfs(0);return 0;
}

2  n个数参与m层全排列(n>=m)

#include <bits/stdc++.h>
using namespace std;
bool vis[20];
int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int b[20];
int step;
void dfs(int s,int step)
{if(s==step){for(int i=0;i<step;i++){printf("%d ",b[i]);}printf("\n");return;}for(int i=0;i<20;i++){if(!vis[i]){vis[i]=true;b[s]=a[i];dfs(s+1,step);vis[i]=false;}}
}int main()
{scanf("%d",&step);dfs(0,step);return 0;
}

3  前n个数的所有组合

#include <bits/stdc++.h>
using namespace std;
bool vis[20];
int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int step,i;
void dfs(int s,int step)
{if(s==step){for(int i=0;i<step;i++){if(vis[i]) printf("%d ",a[i]);}printf("\n");return;}else{vis[s]=true;dfs(s+1,step);vis[s]=false;dfs(s+1,step);}
}int main()
{scanf("%d",&step);dfs(0,step);return 0;
}

排列组合问题模板(C/C++)(DFS)相关推荐

  1. 【一级讲解】不可思议唤来不可思议β——数学排列组合

    不可思议唤来不可思议β Time Limit: 1 Sec Memory Limit: 128 MB Description In the world line 1.048596% 双叶理央因为&qu ...

  2. 前端电商 SKU 的全排列算法很难吗?学会这个套路,彻底掌握排列组合。

    前言 前段时间在掘金看到一个热帖 <今天又懒得加班了,能写出这两个算法吗?带你去电商公司写商品中心>,里面提到了一个比较有意思故事,大意就是一个看似比较简单的电商 sku 的全排列组合算法 ...

  3. DFS算法模板-排列组合-python

    DFS算法模板: def dfs(array or root, cur_layer, path, result):if cur_layer == len(array) or not root:resu ...

  4. Codeforces 991E. Bus Number (DFS+排列组合)

    解题思路 将每个数字出现的次数存在一个数组num[]中(与顺序无关). 将出现过的数字i从1到num[i]遍历.(i from 0 to 9) 得到要使用的数字次数数组a[]. 对于每一种a使用排列组 ...

  5. java dfs_Java数据结构与算法 深搜(DFS)的简单使用(一)之排列组合

    今天,我们来简单介绍一下深度优先搜索(DFS)的概念和使用. 在百度词条中,对深搜的解释是这样的. 百度词条中的解释 由此,我们可知,深搜是广泛运用到 图 中的搜索方法之一. 用深度优先搜索遍历图的基 ...

  6. 【算法】蓝桥杯dfs深度优先搜索之排列组合总结

    [导航] 上一篇文章 → <[算法]蓝桥杯dfs深度优先搜索之凑算式总结>   为了重申感谢之意,再次声明下文的大部分灵感均来自于[CSDN]梅森上校<JAVA版本:DFS算法题解两 ...

  7. 蓝桥杯 笔记整理【JavaB组省赛真题、约数、全排列模板、排列组合、等差等比求和公式、eclipse快捷键、集合、快速求a^n、进制转换(Integer、BigInteger)、动态数组Vector】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  8. 小白学算法:DFS排列组合问题

    准备: 一些用语及事项的说明,方便大家理解. 1.数组从一号索引开始用,不用0号索引. 2.dfs递归零次时称为深度1,递归一次称为深度2,以此类推. 3.每个深度dfs要进行一些操作,统称某深度运算 ...

  9. 无重复字符串的排列组合

    无重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同. 示例1: 输入:S = "qwe" 输出:["qwe", " ...

最新文章

  1. 【复杂系统迁移 .NET Core平台系列】之界面层
  2. 20145315 《信息安全系统设计基础》第14周学习总结
  3. java dib文件 加位图文件头_位图(bmp)文件格式分析
  4. CodeForces 468 CHack it!
  5. boost::bind with ros topic,ros中subscribe用boost::bind绑定多个参数
  6. 1011 A+B 和 C (15 分)—PAT (Basic Level) Practice (中文)
  7. area标签高亮_HTML的所有标签列表
  8. 《数据分析思维手册》和《数据分析师的职场真相》全集整理好啦,下载保存!...
  9. 感知机(Perceptron)-《统计学习方法》例题对偶形式手算全过程
  10. html站点根目录在哪里,域名根目录在哪里
  11. mysql hint 驱动_MySQL HINT:Straight_JOIN
  12. Ng-Alain 菜单图标引入iconfront 版本9.5.5
  13. 鸿蒙1号6年级数学答案,一些常用的数学公式
  14. wiki维基百科各种语料数据下载
  15. 块、内联、内联块都有哪些及其特点
  16. hashmap!hashmap
  17. 什么是网站备案?如何查询网站是否备案?
  18. QQ2011 Beta3优先体验(附官方体验地址及下载地址)
  19. 青年人在美团是怎样成长的?
  20. 这三款手机视频拼接软件,可以帮你把视频拼出高级感

热门文章

  1. RVM命令行管理工具安装
  2. 地表汽车的无人驾驶导航定位
  3. H3C路由器简单配置
  4. 学计算机也是科学家专业吗,计算机属于工学还是理学?工学和理学有什么区别?计算机有哪些专业...
  5. 第一篇——APM飞控学习笔记
  6. 010editor解析TVL格式数据
  7. TVL1计算光流,并进行warp
  8. 关于getchar输入事项
  9. 在vue项目前端如何实现展示动态小程序二维码
  10. 动力环境集中监控系统的常见网络拓扑图