搜索与图论:深度优先搜索

搜索与图论:深度优先搜索

题目描述

参考代码

cpp 复制代码
#include <iostream>

using namespace std;

const int N = 10;

int n;
int path[N];
bool st[N];

void dfs(int u)
{
    // u == n 搜索到最后一层
    if (u == n)
    {
        for (int i = 0; i < n; i++) printf("%d ", path[i]);
        puts("");
        return;
    }
    // u < n
    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;
}
相关推荐
电子_咸鱼10 小时前
常见面试题——滑动窗口算法
c++·后端·python·算法·leetcode·哈希算法·推荐算法
mit6.82410 小时前
hash+presum判等|幻方0
算法
萌>__<新10 小时前
力扣打卡每日一题————最小覆盖子串
数据结构·算法·leetcode·滑动窗口·哈希表
ada7_11 小时前
LeetCode(python)230.二叉搜索树中第k小的元素
python·算法·leetcode·链表
TL滕11 小时前
从0开始学算法——第十五天(滑动窗口练习)
笔记·学习·算法
DuHz11 小时前
milliLoc 论文精读:把商用毫米波 FMCW 的绝对测距从“厘米栅格”推进到“毫米级连续值”,并顺带修正 AoA 的系统相位偏差
论文阅读·物联网·算法·信息与通信·毫米波雷达
qq_4017004111 小时前
Linux文件锁解决多进程并发
linux·服务器·算法
长安er12 小时前
LeetCode 83/237/82 链表删除问题-盒子模型
数据结构·算法·leetcode·链表·力扣
小虎牙00712 小时前
RSA 的核心原理
算法
重生之后端学习12 小时前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展