2023-8-28 排列数字(DFS)

题目链接:排列数字

c++ 复制代码
#include <iostream>

using namespace std;

const int N = 10;

int n;

int path[N];

bool st[N];

// u 看第几个位置
void dfs(int u)
{
    if(u == n)
    {
        for(int i = 0; i < n; i ++) cout << path[i] << ' ';
        cout << endl;
        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;
}
相关推荐
菜鸟丁小真18 小时前
LeetCode hot100 -131.分割回文串
数据结构·算法·leetcode·知识点总结
贾斯汀玛尔斯18 小时前
每天学一个算法--PageRank
算法
子琦啊18 小时前
【算法复习】滑动窗口(同向区间指针)
算法
啊我不会诶19 小时前
【自用复习】牛客每日一题2026.4.18 最大稳定数值
算法·深度优先
笨笨饿19 小时前
66_C语言与微控制器底层开发
linux·c语言·网络·数据结构·算法·机器人·个人开发
yong999019 小时前
双连杆机械臂阻抗控制仿真
算法·仿真
李可以量化20 小时前
Python之如何做出交易日历(上)
人工智能·算法·qmt·量化 qmt ptrade
会编程的土豆20 小时前
【数据结构与算法】新二叉树
数据结构·算法·二叉树
jerryinwuhan20 小时前
基于结构可控性的给水管网传感器布点选择算法
数据库·算法
南宫萧幕20 小时前
车辆控制基础:从 EKF 状态估计到非线性 MPC 轨迹跟踪的闭环实现
算法·matlab·汽车·控制·pid