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

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

题目描述

参考代码

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;
}
相关推荐
我是个菜鸡.12 分钟前
多模态算法面经准备
算法
AlenTech13 分钟前
739. 每日温度 - 力扣(LeetCode)
算法·leetcode·职场和发展
MM_MS1 小时前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
mit6.8241 小时前
山脉二分找中值|子集型回溯
算法
乃瞻衡宇1 小时前
Agent Skills 完全指南:让你的 AI Agent 拥有超能力
算法
mit6.8241 小时前
pair<int, TreeNode*> dfs
算法
进击中的小龙2 小时前
基于rtklib的载波相位平滑伪距
c语言·算法·数学建模·gitee
初晴や2 小时前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
李泽辉_2 小时前
深度学习算法学习(五):手动实现梯度计算、反向传播、优化器Adam
深度学习·学习·算法
李泽辉_3 小时前
深度学习算法学习(一):梯度下降法和最简单的深度学习核心原理代码
深度学习·学习·算法