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);
}
相关推荐
m0_736919101 天前
编译器命令选项优化
开发语言·c++·算法
Jiu-yuan1 天前
C++函数
c++
naruto_lnq1 天前
C++中的工厂方法模式
开发语言·c++·算法
一切尽在,你来1 天前
C++多线程教程-1.2.3 C++并发编程的平台无关性
开发语言·c++
千逐-沐风1 天前
SMU-ACM2026冬训周报2nd
算法
寄存器漫游者1 天前
数据结构 C语言 顺序栈
java·c语言·数据结构
郝学胜-神的一滴1 天前
深入解析Linux网络编程之bind函数:从基础到实践的艺术
linux·服务器·网络·c++·websocket·程序人生
m0_748233171 天前
C#与C语言:5大核心语法共性
java·jvm·算法
雾岛听蓝1 天前
C++11 列表初始化与右值引用核心解析
开发语言·c++·经验分享
痴儿哈哈1 天前
C++与硬件交互编程
开发语言·c++·算法