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

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

题目描述

参考代码

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;
}
相关推荐
jghhh014 分钟前
基于C#实现与三菱FX系列PLC串口通信
开发语言·算法·c#·信息与通信
ada7_7 分钟前
LeetCode(python)22.括号生成
开发语言·数据结构·python·算法·leetcode·职场和发展
曹轲恒7 分钟前
JVM之垃圾回收算法(GC)
jvm·算法
YuTaoShao20 分钟前
【LeetCode 每日一题】1161. 最大层内元素和——BFS
算法·leetcode·宽度优先
黛色正浓28 分钟前
leetCode-热题100-子串合集(JavaScript)
javascript·算法·leetcode
Z1Jxxx41 分钟前
字符串翻转
开发语言·c++·算法
闻缺陷则喜何志丹42 分钟前
【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
c++·算法·前缀和·洛谷·期望
CoovallyAIHub1 小时前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
深度学习·算法·计算机视觉
源来猿往1 小时前
yolov8n结构化剪枝
算法·yolo·剪枝
tongxianchao1 小时前
MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning
算法·机器学习·剪枝