【题解-洛谷】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;
}

结果


相关推荐
沐籽李3 分钟前
HuDiff在抗体人源化项目中的工程化落地
人工智能·算法·aidd·抗体设计
依然范特东5 分钟前
强化学习笔记6--IS、PPO、TD、DQN、Actor-Critic
笔记·算法
一次旅行2 小时前
RLHF全链路深度解析:Reward Model数学推导+PPO完整实战,对比GRPO轻量化方案
人工智能·算法·机器学习
Wang's Blog2 小时前
AI Agent白手起家29: Few Shot 提示词工程实战
人工智能·算法
June`3 小时前
warp shuffle指令
c++·人工智能·算法·cuda
geovindu3 小时前
go:Bit Operation Algorithm
开发语言·后端·算法·golang·位运算法
坏柠3 小时前
C语言进阶:从零实现一个可靠的环形缓冲区,吃透回绕、边界与并发
java·c语言·算法
Wang's Blog4 小时前
AI Agent白手起家31: 根据语义相似度动态选择 Few Shot 示例
人工智能·算法
白白白小纯4 小时前
每日算法day3—回文链表,链表分割
c语言·数据结构·算法·leetcode
手写码匠4 小时前
华为云Flexus+DeepSeek征文|Dify 构建企业级联网搜索 Agent:查询改写、多源检索与引用溯源实战
人工智能·深度学习·算法·aigc