DFS

news/发布时间2024/5/4 8:27:30

DFS

DFS指数型枚举模板

image-20240412122753272

bbd1e15879cc804559cc6083bf2e141

#include<iostream>
using namespace std;int arr[20];
int n;void dfs(int x){if (x > n ){  // 出口 DFS位置大于选择的nfor (int i = 1; i <=n ; ++i){if (arr[i] == 1){   // 如果标志为1 的 被选中的打印出cout << i << " ";}}cout << endl;return;}arr[x] = 1; // 选中dfs(x + 1); // DFSarr[x] = 0; // 回溯arr[x] = 2; // 不选中dfs(x + 1);  // DFSarr[x] = 0; // 回溯
}int main(){cin >> n;dfs(1);}

全排列

image-20240412124922322

微信图片_20240412131939

#include<bits/stdc++.h>
using namespace std;int n;
bool st[20];
int arr[20];void dfs(int x){// 出口条件if (x > n){for (int i = 1;i <= n ; ++i){cout <<"    "<< arr[i];}cout << endl;return;}// 三个分支for (int i = 1; i<= n; ++i){if (!st[i]){ // 如果这个数没被选中st[i] = true; // 上锁arr[x] = i; // 给予这个数dfs(x+1); // DFSst[i] = false; // 回溯arr[x] = 0;}}
}
int main(){cin >> n;dfs(1);
} 

DFS组合枚举

image-20240412132508989

#include<bits/stdc++.h>
using namespace std;
int n, r;
int arr[20];void dfs(int x, int start){if (x > r){for ( int i = 1; i <= r ; ++i){cout << setw(3) << arr[i];}cout << endl;return;}for (int i = start ; i <= n ;++i ){arr[x] = i;dfs(x+1,i+1);arr[x] = 0;}
}int main(){cin >> n >> r; dfs(1,1);return 0;
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/81283544.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

在 Windows10 中使用 WSL2

安装必备的功能 使用 win + i 打开设置,依次点击 应用 → 应用与功能 → 程序和功能 → 启用或关闭Windows功能 勾选 适用于Linux的Windows子系统 与 虚拟机平台确定并且重启 配置 组合键 win + r 输入 powershell 打开 PowerShell 窗口 执行下面的命令设置为 wsl2 wsl --set-…

aspcore+jenkins+iis+window实现自动化部署

一、准备工作  1、Windows server 2106操作系统2、Git     链接:https://pan.baidu.com/s/1s_3kKe5GWxJx1twggjk6Qg提取码:mayx3、IIS 10确保已安装4、.net core sdk6     https://download.visualstudio.microsoft.com/download/pr/9cac8293-891f-4f26-a911-4741f…

Adobe Animate 2024 v24.0.2 (macOS, Windows) - 动画制作

Adobe Animate 2024 v24.0.2 (macOS, Windows) - 动画制作Adobe Animate 2024 v24.0.2 (macOS, Windows) - 动画制作 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、…

最小生成树 Kruskal 算法

Kruskal 算法 edge存储边起点、终点、边权 fa[x]存储x的父节点 1、先初始化父节点 2、按边的权排序(贪心思想) 3、如果不在同一集合内,把这条边加入最小生成树,并且合并两个集合,反之就跳过 4、最后根据连接的点是否是顶点的个数减一确定能否生成最小生成树 如下图,红色表示…

短视频app源码,一文带你轻松搞懂前端大文件上传思路

短视频app源码,一文带你轻松搞懂前端大文件上传思路文件上传是我们在平时开发短视频app源码中经常会遇到的业务,如果只是简单的文件上传那还不足以作为项目亮点,而当我们给它加上切片、续传的功能,就不一样了。本文会带大家搞明白这些功能的实现思路,主要聚焦于 前端 部分…

HBuildx如果启用IOS真机调试?

制作标准基座: 安装爱思助手(www.i4.cn),用爱思助手制作ipa签名。添加ipa文件: 添加Hbuildx所在目录:HBuilderX.3.7.3.20230223\HBuilderX\plugins\launcher\base下的iPhone_base.ipa 添加之后勾选,选择使用Apple ID签名,这里需要登录你的苹果ID,然后点开始签名。 签…