BFS(宽度优先搜索)C++(Acwing)








代码:
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;typedef pair<int, int> PII;const int N = 110;int n, m;
int g[N][N];
int d[N][N];
PII q[N * N];int bfs()
{int hh = 0, tt = 0;q[0] = {0, 0};memset(d, -1, sizeof d);d[0][0] = 0;int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};while(hh <= tt){auto t = q[hh++];for(int i = 0; i < 4; i++){int x = t.first + dx[i], y = t.second + dy[i];if(x >= 0 && x < n && y >= 0 && y < m && g[x][y] == 0 && d[x][y] == -1){d[x][y] = d[t.first][t.second] + 1;q[++tt] = {x, y};}}}return d[n - 1][m - 1];
}int main()
{cin >> n >> m;for(int i = 0; i < n; i++)for(int j = 0; j < m; j++)cin >> g[i][j];cout << bfs() << endl;return 0;
}
相关文章:
BFS(宽度优先搜索)C++(Acwing)
代码: #include <cstring> #include <iostream> #include <algorithm>using namespace std;typedef pair<int, int> PII;const int N 110;int n, m; int g[N][N]; int d[N][N]; PII q[N * N];int bfs() {int hh 0, tt 0;q[0] {0, 0};m…...
信息收集:端口扫描原理,端口扫描分类,端口扫描工具,手动判断操作系统,操作系统识别工具
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《网络安全自学教程》 端口&系统版本 一、端口扫描1、telnet2、Nmap3、Masscan4、端口扫描原…...
【Tauri】(5):本地运行candle和 qwen 大模型,并测试速度
1,本地运行candle 关于candle项目 https://github.com/huggingface/candle Hugging Face 使用rust开发的高性能推理框架。 语法简单, 风格与 PyTorch 相似。 CPU 和 Cuda Backend:m1、f16、bf16。 支持 Serverless(CPUÿ…...
基于udp协议的cs网络通信代码(echo版+命令行输入版+执行指令版),netstat指令
目录 引入 基础版 服务端 思路 头文件log类 套接字的初始化 思路 代码 服务器开始运行 思路 代码 注意点 -- ip地址和端口号的来源 ip地址的选择 本地环回地址 端口号 编辑 运行情况 netstat -nlup 客户端 思路 初始化 思路 代码 客户端的运行 思…...
centos7网络命令:ping、dig、nsloopup、tcpdump
目录 一、ping1、命令参数:2、示例-将当前的信息打印到一个文件中3、示例-结束进程 二、dig1、安装2、语法格式选项说明 3、示例4、示例-将当前的信息打印到一个文件中 三、nslookup1、安装2、语法格式选项说明 3、示例 四、tcpdump抓包1、安装2、语法格式ÿ…...
Excel判断CD两列在EF两列的列表中是否存在
需求 需要将CD两列的ID和NAME组合起来,查询EF两列的ID和NAME组合起来的列表中是否存在? 比如,判断第二行的“123456ABC”在EF的第二行到第四行中是否存在,若存在则显示Y,不存在则显示N 实现的计算公式 IF(ISNUMBER…...
基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的无人机三维路径规划(MATLAB)
一、无人机路径规划模型介绍 二、算法介绍 斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO),是由Abdelazim Hussien于2024年提出的一种基于群体的新型元启发式算法,它从自然界中观察到的斑翠鸟独特的狩猎行为和共生关系中汲取灵感。PKO 算法围绕三个不同的阶段构建:栖息…...
同程旅行前端面试汇总
一、同程旅行一面 自我介绍技术提问 打开新的tab页、window.open是否共享sessionStorage存储的数据vue、react 源码有没有看过,说一下react17 与 react18区别webpack中loader与plugin,有没有自己写过vuex、reactx 刷新数据丢失 怎么做的持久化 反问 总…...
小美的平衡矩阵_dp思路
小美的平衡矩阵 写在前面: 本博客只是一种解题思路的提供。 小美的平衡矩阵 题目描述: 小美拿到了一个n*n 的矩阵,其中每个元素是 0 或者 1。 小美认为一个矩形区域是完美的,当且仅当该区域内 0 的数量恰好等于 1 的数量。 现在…...
json展示curl 请求接口返回结果
使用curl发送请求并将返回结果以JSON格式展示,通常需要确保请求的响应本身就是JSON格式。可以结合jq这个JSON处理工具来格式化输出。 首先要安装jq 工具。 Linux发行版中,你可以使用包管理器来安装它。 sudo yum install jq # 对于CentOS/RHEL 安装成…...
2024 年排名前 5 名的 Mac 数据恢复软件分享
如果您已经在 Mac 上丢失了数据并且正在寻找恢复数据的方法,那么您来对地方了。互联网上有超过 50 个适用于 Mac 的数据恢复程序。哪个是最好的 Mac 数据恢复软件?不用担心。本文列出了 5 款 Mac 数据恢复软件,可帮助您在 Mac OS 下恢复丢失的…...
请描述一下Spring MVC的工作流程。在Spring MVC中,DispatcherServlet的作用是什么?
请描述一下Spring MVC的工作流程。 Spring MVC 的工作流程是基于请求驱动的,它围绕 Servlet 设计,将请求映射到处理器,处理器处理请求并返回响应。以下是 Spring MVC 的基本工作流程: 发送请求: 客户端(例…...
2023年终总结——跌跌撞撞不断修正
目录 一、回顾1.一月,鼓足信心的开始2.二月,焦躁不安3.三月,路还是要一步一步的走4.四月,平平淡淡的前行5.五月,轰轰烈烈的前行6.六月,看事情更底层透彻了7.七月,设计模式升华月8.八月ÿ…...
OPPO后端二面,凉了!
这篇文章的问题来源于一个读者之前分享的 OPPO 后端凉经,我对比较典型的一些问题进行了分类并给出了详细的参考答案。希望能对正在参加面试的朋友们能够有点帮助! Java String 为什么是不可变的? public final class String implements java.io.Seri…...
Unity3d版白银城地图
将老外之前拼接的Unity3d版白银城地图,导入到国内某手游里,改成它的客户端地图模式,可以体验一把手游的快乐。 人物角色用的是它原版的手游默认的,城内显示效果很好,大家可以仔细看看。 由于前期在导入时遇到重大挫折&…...
【PCL】(二十八)点云超体素分割
(二十九)点云超体素分割 论文:Voxel Cloud Connectivity Segmentation - Supervoxels for Point Clouds supervoxel_clustering.cpp #include <pcl/console/parse.h> #include <pcl/point_cloud.h> #include <pcl/point_ty…...
Socket通信Demo(Unity客户端和C#)
Socket通信基本流程 首先要启动服务器创建Socket,然后要绑定服务器的一个端口这样客户端通过服务器IP端口号就能连接到服务器了服务器接下来会设置监听队列,监听并等待要连接到它的客户端客户端在服务器启动之后也建立自己的Socket,然后使用…...
Lucene 自定义词库
import org.apache.lucene.analysis.hunspell.Dictionary; import org.apache.lucene.analysis.hunspell.HunspellStemFilter; import...
【LeetCode热题100】73. 矩阵置零(矩阵)
一.题目要求 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0…...
使用Barrier共享鼠标键盘,通过macos控制ubuntu系统
之前文章写过如何使用barrrier通过windows系统控制ubuntu系统,该文章将详细介绍如何使用barrier通过macos系统控制ubuntu系统 一、macOS安装barrier macOS版本barrier链接 1、双击点开安装包 2、将安装包里的barrier拷贝到macOS的达达->应用程序中 3、在达达…...
AI算法工程师如何进行数据预处理?这5个步骤让你的数据更优质
在AI模型开发与测试的全流程中,数据质量直接决定了最终模型的效果上限——哪怕是最先进的大语言模型,用劣质数据训练出来也只能输出劣质结果。对于软件测试从业者来说,不管是参与AI模型的功能测试、性能测试,还是负责测试数据集的…...
<数据集>yolo高粱叶片病害识别<目标检测>
数据集下载链接https://download.csdn.net/download/qq_53332949/92902223数据集格式:VOCYOLO格式 图片数量:3242张 标注数量(xml文件个数):3242 标注数量(txt文件个数):3242 标注类别数:1 使用标注工具ÿ…...
免费岛屿设计工具终极指南:Happy Island Designer 完整教程 [特殊字符]️
免费岛屿设计工具终极指南:Happy Island Designer 完整教程 🏝️ 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友…...
注释覆盖率从42%→91%仅用8小时,DeepSeek R1/R2模型注释优化全链路实操,
更多请点击: https://kaifayun.com 第一章:注释覆盖率跃升的工程价值与DeepSeek模型适配性洞察 注释覆盖率并非代码“装饰”,而是可量化的知识沉淀密度指标。当函数级注释覆盖率从32%提升至89%,CI流水线中PR评审平均耗时下降41%&…...
学习课程学习报告
本周主要学习了深度学习的基础理论,包括深度学习的数学本质、激活函数、前向传播与反向传播的原理。重点理解了非线性激活函数对模型表达能力的作用,掌握了前向传播的矩阵表示,并推导了反向传播的梯度计算过程,为后续神经网络训练…...
Transformer解码器在量子纠错中的应用:突破表面码实时解码瓶颈
1. 项目概述与核心挑战 量子计算这行干久了,你总会遇到一个绕不开的“拦路虎”:量子纠错。这玩意儿是通往实用化、容错量子计算机的必经之路,但其中的解码问题,尤其是针对表面码这类稳定子码的解码,其复杂度和实时性要…...
架构师的一天:开会、画图、背锅?真实工作大揭秘
架构师的一天:开会、画图、背锅?真实工作大揭秘 一、写在前面 很多程序员对架构师的工作充满好奇,也充满误解: “架构师是不是整天就画图?” “架构师不用写代码,太爽了吧?” “架构师就是开会的,多轻松” 今天我用一个架构师的一天,带你看看真实的架构师工作是什么…...
Selenium自动化绕过反爬:彻底清除webdriver指纹的三层策略
1. 为什么“移除 webdriver 标志”成了自动化测试与爬虫绕过的第一道门槛 你有没有遇到过这样的情况:用 Selenium 写好了一套完整的电商比价脚本,本地跑得丝滑流畅,一上服务器或换台新机器就频繁触发验证码,甚至直接返回 403&…...
自动驾驶多摄像头三平面令牌化技术解析
1. 多摄像头令牌化技术背景与挑战在自动驾驶系统中,实时处理多摄像头数据是实现环境感知的基础。传统基于ViT(Vision Transformer)的令牌化方案存在明显的计算瓶颈——每个摄像头输入的图像被分割为1616像素块进行编码,导致令牌数…...
告别SSH焦虑:手把手教你在Ubuntu 22.04和RHEL 8上快速启用Telnet服务(附防火墙配置)
应急管理通道:Ubuntu与RHEL系统下Telnet服务的实战配置指南 当深夜的报警短信惊醒睡梦,发现SSH连接因配置失误彻底瘫痪时,每个运维人员都需要Plan B。Telnet这个被遗忘的古老协议,恰恰能在关键时刻成为救命稻草。本文将带您深入掌…...
