当前位置:网站首页>递归实现排列型枚举(DAY 93)
递归实现排列型枚举(DAY 93)
2022-08-02 04:22:00 【张学恒】
1:题目
把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。
输入格式
一个整数 n。
输出格式
按照从小到大的顺序输出所有方案,每行 1 个。
首先,同一行相邻两个数用一个空格隔开。
其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。
数据范围
1≤n≤9
输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
2:代码实现
#include <cstring>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int n;
vector<int> path;
void dfs(int u, int state)
{
if (u == n)
{
for (auto x : path) cout << x << ' ';
cout << endl;
return;
}
for (int i = 0; i < n; i ++ )
if (!(state >> i & 1))
{
path.push_back(i + 1);
dfs(u + 1, state + (1 << i));
path.pop_back();
}
}
int main()
{
cin >> n;
dfs(0, 0);
return 0;
}
边栏推荐
- 多主复制的适用场景(1)-多IDC
- A Practical Arrangement of Map GIS Development Matters (Part 1)
- Use the advanced timer of GD32F207 to generate hidden bugs in PWM waves
- 分布式系统的一致性与共识(1)-综述
- redis基础入门
- C# Thread IsBackground作用
- 【FreeRTOS】12 任务通知——更省资源的同步方式
- Unreal回放系统剖析(上)
- 面试官:大量请求 Redis 不存在的数据,从而打倒数据库,有什么方案?
- ROS visualization of 3D target detection
猜你喜欢
STM32 OLED显示屏--SPI通信知识汇总
【STM32】 ADC模数转换
EasyCVR视频广场切换通道,视频播放协议异常的问题修复
OpenPCDet environment configuration of 3 d object detection and demo test
力扣 215. 数组中的第K个最大元素
复制延迟案例(2)-读己之写
Minecraft 1.18.1, 1.18.2 module development 23.3D animation armor production
ClickHouse的客户端命令行参数
多主复制的适用场景(1)-多IDC
MapFi paper structure organization
随机推荐
3D object detection dataset
Learn about the sequential storage structure of binary tree - heap
PyQt5_pyqtgraph鼠标在折线图上画方形
ClickHouse的客户端命令行参数
ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!
无主复制系统(2)-读写quorum
爬虫_爬取wasde月度供需平衡表(实例)
如果有些字段不想进行序列化怎么办?
如何解决QByteArray添加quint16双字节时错误?
C语言特殊运算符
热爱和责任
温暖的世界
MySQL read-write separation mysql-proxy deployment
P1012 [NOIP1998 提高组] 拼数
LeetCode 23: 合并K个升序链表
ADSP21489工程中LDF文件配置详解
关于地图GIS开发事项的一次实践整理(上)
Jetson Nano 2GB Developer Kit Installation Instructions
AFMG SysTune1.3.7使用图解
多数据中心操作和检测并发写入