备战蓝桥杯---搜索(DFS基础1)

何为深搜?

即不撞南墙不罢休。

话不多说,直接看题:

我们可以把这看成深搜的模板题,下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
int a[15];//存值并输出
int vis[15];
int n=18;
void dfs(int deep){if(deep>n){for(int i=1;i<=n;i++) cout<<a[i]<<" ";cout<<endl;}else{for(int i=1;i<=n;i++){if(vis[i]==0){a[deep]=i;vis[i]=1;dfs(deep+1);a[deep]=0;vis[i]=0;}}}
}
int main(){dfs(1);
}

加点难度:

输出n个数中选m个的组合

其实,我们只要在原先基础上限定从小到大的顺序并且限定个数即可。

下面是AC代码:

法1.

#include<bits/stdc++.h>
using namespace std;
int a[15];//存值并输出
int vis[15];
int n=5;
int m=3;
void dfs(int deep){if(deep>m){for(int i=1;i<=m;i++) cout<<a[i]<<" ";cout<<endl;}else{for(int i=1;i<=n;i++){if(vis[i]==0&&i>a[deep-1]){a[deep]=i;vis[i]=1;dfs(deep+1);a[deep]=0;vis[i]=0;}}}
}
int main(){dfs(1);
}

法2.

#include<bits/stdc++.h>
using namespace std;
int a[15];//存值并输出
int vis[15];
int n=5;
int m=3;
void dfs(int deep,int last){if(deep>m){for(int i=1;i<=m;i++) cout<<a[i]<<" ";cout<<endl;}else{for(int i=last+1;i<=n;i++){if(vis[i]==0){a[deep]=i;vis[i]=1;dfs(deep+1,i);a[deep]=0;vis[i]=0;}}}
}
int main(){dfs(1,0);
}

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

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

相关文章

Redisson看门狗机制

一、背景 网上redis分布式锁的工具方法&#xff0c;大都满足互斥、防止死锁的特性&#xff0c;有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢&#xff1f;redis分布式锁无法自动续期&#xff0c;比如&#xff0c;一个锁设置了1分钟超时释放&#xff0c;…

✅Redis-管道技术

Redis 作为一种高性能的键值存储数据库&#xff0c;被广泛应用于缓存、会话存储、消息队列等场景。在处理大量请求时&#xff0c;性能是 Redis 最为关注的问题之一。为了提高 Redis 的性能&#xff0c;我们可以借助一些高效的技术&#xff0c;其中管道技术就是其中之一。 比如…

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读 YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读一、前言二、我的环境三、yolov5s.yaml源文件内容四、Parameters五、anchors配置六、backbone七、head八、总结 OLOv5-第Y2周&#xff1a;训练自己的数据集) YOLOv5白皮书-第Y3周:yolov5s.…

从MySQL到TiDB:兼容性全解析

MySQL 在高并发和大数据量场景下&#xff0c;单个实例的扩展性有限。而 TiDB 作为一款分布式NewSQL数据库&#xff0c;设计之初就支持水平扩展&#xff08;Scale-Out&#xff09;&#xff0c;通过增加节点来线性提升处理能力和存储容量&#xff0c;能够很好地应对大规模数据和高…

机器学习——绪论总结

目录 一、引入 二、基本术语 三、假设空间与归纳偏 四、模型选择 一、引入 机器学习&#xff1a;通过计算手段&#xff0c;得出具有能够自我修改、完善能力的模型&#xff0c;利用经验改善系统自身性能。算法使用数据得到模型的过程即称为学习&#xff0c;或训练 流程&…

Framework - ActivityThread 应用启动UI渲染流程

一、概念 ActivityThread拥有 main(String[] agrs) 方法&#xff0c;作为程序的入口&#xff0c;是应用程序的初始化类。&#xff08;ActivityThread不是主线程&#xff0c;它在 main() 方法中实例化&#xff0c;是运行在主线程中。&#xff09;ApplicationThread是 ActivityT…

【Nginx】Ubuntu如何安装使用Nginx反向代理?

文章目录 使用Nginx反向代理2个web接口服务步骤 1&#xff1a;安装 Nginx步骤 2&#xff1a;启动 Nginx 服务步骤 3&#xff1a;配置 Nginx步骤 4&#xff1a;启用配置步骤 5&#xff1a;检查配置步骤 6&#xff1a;重启 Nginx步骤 7&#xff1a;访问网站 proxy_set_header 含义…

海外IP代理:解锁网络边界的实战利器

文章目录 引言&#xff1a;正文&#xff1a;一、Roxlabs全球IP代理服务概览特点&#xff1a;覆盖范围&#xff1a;住宅IP真实性&#xff1a;性价比&#xff1a;在网络数据采集中的重要性&#xff1a; 二、实战应用案例一&#xff1a;跨境电商竞品分析步骤介绍&#xff1a;代码示…

分公司的投标之路:探索与实践

在商海的波涛中&#xff0c;分公司作为母公司延伸的触角&#xff0c;常常在招投标的舞台上扮演着重要角色。然而&#xff0c;分公司能否独立参与投标&#xff0c;这是一个值得深入探讨的话题。 一、分公司的定义与地位 首先&#xff0c;我们需要明确什么是分公司。分公司是母公…

使用nodejs和html布局一个简单的视频播放网站,但是使用localhost:端口访问html无法加载视频

js代码&#xff1a; // app.js const express require(express); const path require(path); const app express();// 设置静态文件目录&#xff0c;这里假设你的视频文件在public/videos/目录下 app.use(express.static(path.join(__dirname, )));// 设置主页路由&#xf…

LeetCode--189

189. 轮转数组 提示 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转…

Ingress

文章目录 环境准备什么是 Ingress认识 Ingress 资源Ingress 控制器(controller)Ingress 规则pathType 路径类型多重匹配Ingress 类TLS生成证书创建密钥 环境准备 下面的 yaml 文件内容&#xff0c;是使用 sts 创建两个 web 服务&#xff0c;并配置对应的 servcie。web 服务的首…

Python进行数据分析||AIGC生成的Python-Pandas库的一些主要函数及其使用实例来进行数据分析

在Python的Pandas库中,有许多函数可以用来进行数据分析。以下是一些主要函数及其使用实例: read_csv():这个函数用于从CSV文件中读取数据。例如,如果你有一个名为"my_data.csv"的文件,你可以使用以下代码来读取它:import pandas as pd data = pd.read_csv(&quo…

微信小程序(三十三)promise异步写法

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.promise异步与普通异步的写法区别 2.promise异步的优势 源码&#xff1a; index.wxml <view class"preview" bind:tap"onChoose"><image src"{{avatar}}" mode"…

PyCharm常用快捷键和设置

Ctrl Space 基本的代码完成&#xff08;类、方法、属性&#xff09; Ctrl Alt Space 快速导入任意类 Ctrl Shift Enter 语句完成 Ctrl P 参数信息&#xff08;在方法中调用参数&#xff09; Ctrl Q 快速查看文档 F1 外部文档 Shift F1 外部文档…

网络时间协议NTP工作模式

单播服务器/客户端模式 单播服务器/客户端模式运行在同步子网中层数较高层上。这种模式下,需要预先知道服务器的IP地址。 客户端:运行在客户端模式的主机(简称客户端)定期向服务器端发送报文,报文中的Mode字段设置为3(客户端模式)。当客户端接收到应答报文时,客户端会…

area_center

*模板匹配 gen_rectangle2 (Rectangle1, 1558, 1148, 0, 222, 322) reduce_domain (ImageAffinTrans, Rectangle1, ImageReduced) binary_threshold (ImageReduced, Region, max_separability, dark, UsedThreshold) connection (Region, ConnectedRegions) select_shape (Conn…

【Redis】--RedissonClient的Lock锁详解

目录 一、前言二、Lock源码解析2.1、lock()源码2.2、lock(long leaseTime,TimeUnit unit)源码2.3、trylock()源码2.4、trylock(long waitTime, long leaseTime, TimeUnit unit)源码2.5、trylock(long waitTime,TimeUnit unit)源码2.6、unlock()源码三、Lock相关代码示例一、前言…

Z字型遍历二叉树

编码过程 掏出Deque&#xff0c;先写从左往右遍历 class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {Deque<TreeNode> deque new ArrayDeque<>();deque.offer(root);while (!deque.isEmpty()) {int n deque.size();f…

Chapter One - The History of Computers

Chapter One - The History of Computers 第一章 - 计算机的历史 I. Reading Material I. 阅读材料 My friends, let’s embark on an enlightening journey through the captivating history of computers, unraveling the intricate threads that have woven the technolog…