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

C++ 深度优先搜索DFS || 模版题:排列数字

给定一个整数 n
,将数字 1∼n
排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式
共一行,包含一个整数 n

输出格式
按字典序输出所有排列方案,每个方案占一行。

数据范围
1≤n≤7
输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

#include <iostream>using namespace std;const int N = 10;
int n;
int path[N];
bool st[N];void dfs(int u)
{if(u == n){for(int i = 0; i < n; i ++ )printf("%d ",path[i]);printf("\n");}for(int i = 1; i <= n; i ++ )if(!st[i]){path[u] = i;st[i] = true;dfs(u + 1);st[i] = false;}
}int main ()
{scanf("%d", &n);dfs(0);return 0;
}

在这里插入图片描述
u = 0 第一层
u = n 最后一层

http://www.lryc.cn/news/280525.html

相关文章:

  • 计算机找不到msvcp120.dll如何解决?总结五个可靠的教程
  • 法线变换矩阵的推导
  • React.Children.map 和 js 的 map 有什么区别?
  • 13.Kubernetes部署Go应用完整流程:从Dockerfile到Ingress发布完整流程
  • 叉车车载终端定制_基于MT6762安卓核心板的车载终端设备方案
  • 【CSS】保持元素宽高比
  • 使用 Docker 和 Diffusers 快速上手 Stable Video Diffusion 图生视频大模型
  • C++ namespace高级用法
  • 如何允许远程访问 MySQL
  • PostgreSQL认证考试PGCA、PGCE、PGCM
  • Matlab深度学习进行波形分割(二)
  • Markdown高级用法——mermaid
  • cf919Div2C题题目总结
  • Pandas实战100例 | 案例 4: 数据选择和索引 - 选择特定的列和行
  • Netty-Netty实现自己的通信框架
  • 【算法刷题】总结规律 算法题目第2讲 [234] 回文链表,因为深浅拷贝引出的bug
  • RabbitMQ如何保证消息不丢失?
  • Random的使用
  • 通过反射修改MultipartFile类文件名
  • Macos下修改Python版本
  • 多种采购方式下,数智化招标采购系统建设解决方案
  • Java选择排序
  • [足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-1 坐标系与概念基准
  • 【金猿人物展】DataPipelineCEO陈诚:赋能数据应用,发挥未来生产力
  • 4D 毫米波雷达:智驾普及的新路径(二)
  • element plus自定义组件表单校验
  • C //练习 4-13 编写一个递归版本的reverse(s)函数,以将字符串s倒置。
  • DNS解析和主从复制
  • 光猫(无限路由器)插入可移动硬盘搭建简易版的NAS
  • SpringIOC之support模块GenericGroovyApplicationContext