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

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

题目描述

参考代码

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;
}
相关推荐
有一个好名字9 分钟前
力扣:除自身以外数组的乘积
java·算法·leetcode
bkspiderx1 小时前
C++中的访问控制:private、public与protected的深度解析
开发语言·c++·算法·访问控制·private·public·protected
ullio2 小时前
arc207c - Combine to Make Non-decreasing
算法
ZhuNian的学习乐园2 小时前
LLM对齐核心:RLHF 从基础到实践全解析
人工智能·python·算法
iAkuya2 小时前
(leetcode)力扣100 31K个一组翻转链表(模拟)
算法·leetcode·链表
铭哥的编程日记2 小时前
二叉树遍历的递归和非递归版本(所有题型)
算法
&永恒的星河&2 小时前
告别过时预测!最新时序新SOTA:TimeFilter教会模型“选择性失明”
人工智能·深度学习·算法·时序预测·timefilter·时序算法
闻缺陷则喜何志丹2 小时前
【二分查找】P9029 [COCI 2022/2023 #1] Čokolade|普及+
c++·算法·二分查找·洛谷
leiming63 小时前
c++ set容器
开发语言·c++·算法
C雨后彩虹3 小时前
猜密码问题
java·数据结构·算法·华为·面试