排列数字(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

cpp 复制代码
#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");
        return ;
    }
    for(int i=1;i<=n;i++){
        if(!st[i]){
            path[u] = i;
            st[i] = true;//访问标记
            dfs(u+1);
            st[i] = false;//回溯
        }
    }
}

int main(){
    cin>>n;
    dfs(0);
    return 0;
}
相关推荐
小羊不会c++吗(黑客小羊)6 分钟前
c++头文件知识
算法
拓端研究室TRL26 分钟前
PyMC+AI提示词贝叶斯项目反应IRT理论Rasch分析篮球比赛官方数据:球员能力与位置层级结构研究
大数据·人工智能·python·算法·机器学习
CoovallyAIHub1 小时前
Vision Transformers与卷积神经网络详细训练对比(附代码)
深度学习·算法·计算机视觉
地平线开发者1 小时前
征程 6 逆向自证hbm与bc一致性
算法·自动驾驶
算AI1 小时前
LLM用于科学假设生成:探索与挑战
人工智能·算法
1白天的黑夜11 小时前
贪心算法-2208.将数组和减半的最小操作数-力扣(LeetCode)
c++·算法·leetcode·贪心算法
格格Code2 小时前
八大排序——冒泡排序/归并排序
数据结构·算法·排序算法
C语言魔术师2 小时前
62.不同路径
算法·leetcode·动态规划
fantasy_42 小时前
LeetCode238☞除自身以外数组的乘积
java·数据结构·python·算法·leetcode
椰羊~王小美2 小时前
贪心算法和动态规划
算法·贪心算法·动态规划