Acwing.基础课.排列数字(c++题解)

给定一个整数 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

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n;
bool f[8];
int v[8];
void dfs(int h){
    if(h>=n){
        for(int i=1;i<=n;i++)cout<<v[i]<<" ";
        cout<<"\n";
    }
    for(int i=1;i<=n;i++){
        if(f[i])continue;
        f[i]=true,v[h+1]=i;
        dfs(h+1);
        f[i]=false;
    }
}
int main(){
    cin>>n;
    dfs(0);
}
相关推荐
oioihoii9 分钟前
C++23 std::generator:用于范围的同步协程生成器 (P2502R2, P2787R0)
开发语言·c++·c++23
竹下为生18 分钟前
LeetCode --- 448 周赛
算法·leetcode·职场和发展
未名编程25 分钟前
LeetCode 88. 合并两个有序数组 | Python 最简写法 + 实战注释
python·算法·leetcode
Cuit小唐42 分钟前
C++ 迭代器模式详解
c++·算法·迭代器模式
2401_8582861144 分钟前
CD37.【C++ Dev】string类的模拟实现(上)
开发语言·c++·算法
╭⌒心岛初晴1 小时前
JAVA练习题(2) 找素数
java·开发语言·算法·java练习题·判断素数/质数
四谷夕雨1 小时前
C++八股 —— vector底层
开发语言·c++
懒懒小徐1 小时前
2023华为od统一考试B卷【二叉树中序遍历】
数据结构·算法·华为od
YKPG1 小时前
C++学习-入门到精通-【6】指针
开发语言·c++·学习
虾球xz1 小时前
游戏引擎学习第269天:清理菜单绘制
c++·学习·游戏引擎