【题解-洛谷】P1706 全排列问题

题目:P1706 全排列问题

题目描述

按照字典序输出自然数 1 1 1 到 n n n 所有不重复的排列,即 n n n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 n n n。

输出格式

由 1 ∼ n 1 \sim n 1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 5 5 个场宽。

输入输出样例 #1

输入 #1

复制代码
3

输出 #1

复制代码
1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1

说明/提示

1 ≤ n ≤ 9 1 \leq n \leq 9 1≤n≤9。

代码

cpp 复制代码
#include<iostream>

using namespace std;

const int Maxn = 9 + 10;

int n, path[Maxn], vis[Maxn];

void dfs(int pos){
    if(pos == n){
        for(int i = 0; i < n; i ++){
            printf("%5d", path[i]);
        }
        puts("");
        return;
    }
    for(int i = 1; i <= n; i ++){
        if(!vis[i]){
            path[pos] = i;
            vis[i] = 1;
            dfs(pos + 1);
            vis[i] = 0;
        }
    }
}
int main(){
    cin >> n;
    dfs(0);
    return 0;
}

结果


相关推荐
chenyy233342 分钟前
2025.7.25动态规划再复习总结
算法·动态规划
爱和冰阔落1 小时前
【数据结构】长幼有序:树、二叉树、堆与TOP-K问题的层次解析(含源码)
c语言·数据结构·算法
zc.ovo2 小时前
图论水题日记
算法·深度优先·图论
某个默默无闻奋斗的人2 小时前
【矩阵专题】Leetcode48.旋转图像(Hot100)
java·算法·leetcode
℡余晖^3 小时前
每日面试题14:CMS与G1垃圾回收器的区别
java·jvm·算法
圆头猫爹3 小时前
洛谷刷题7.24
数据结构·算法
hhhh明3 小时前
广义优势估计的推导
算法
果味哈哈笑3 小时前
斐波那契数(快速幂计算的推理过程)
算法
刚入坑的新人编程3 小时前
暑期算法训练.8
数据结构·c++·算法·面试·哈希算法
花火|4 小时前
算法训练营day28 贪心算法②122.买卖股票的最佳时机II、55. 跳跃游戏、 45.跳跃游戏II 、1005.K次取反后最大化的数组和
算法·贪心算法