上海计算机学会 2023年12月月赛 丙组T4 迷宫(宽度优先搜索)
第四题:T4迷宫
标签:宽度优先搜索
题意:给定 n n nx m m m由 # \# #(墙)、 . . .(空地)组成的地图,求从左上角到右下角的最少步数,每次只允许上下左右移动一格,不允许走出地图和走到 # \# #(墙)上。
题解:BFS 模板题,判断下一个能否走的点,经典三要素:
- 下个点是否是障碍物(宽泛来说是题目中的限制条件)
- 下个点是否走过(避免死循环)
- 下个点是否在地图内
代码:
#include <bits/stdc++.h>
using namespace std;int n, m;
int dx[4] = {0, 0, -1, 1};
int dy[4] = {-1, 1, 0, 0};char a[1005][1005];
bool vis[1005][1005];
struct node {int x, y, step;
};void bfs() {queue <node> q;vis[1][1] = 1;q.push({1, 1, 0});while (!q.empty()) {node u = q.front();q.pop();if (u.x == n && u.y == m) {cout << u.step << endl;return ;}for (int i = 0; i < 4; i++) {int nx = u.x + dx[i];int ny = u.y + dy[i];if (nx < 1 || nx > n || ny < 1 || ny > m) continue;if (vis[nx][ny] || a[nx][ny] == '#') continue;vis[nx][ny] = 1;q.push({nx, ny, u.step + 1});}}cout << "No solution" << endl;
}int main() {cin >> n >> m;for (int i = 1; i <= n; i++)for (int j = 1; j <= m; j++)cin >> a[i][j];bfs();return 0;
}
相关文章:
上海计算机学会 2023年12月月赛 丙组T4 迷宫(宽度优先搜索)
第四题:T4迷宫 标签:宽度优先搜索题意:给定 n n nx m m m由 # \# #(墙)、 . . .(空地)组成的地图,求从左上角到右下角的最少步数,每次只允许上下左右移动一格࿰…...
【Boost搜索引擎项目】Day1 项目介绍+去标签和数据清洗框架搭建
🌈欢迎来到C项目专栏 🙋🏾♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mysq…...
站群服务器需要多大内存
站群服务器的内存需求取决于网站的数量和流量,以及服务器需要运行的应用和服务。RAKsmart小编为您整理发布站群服务器需要多大内存以及站群服务器内存需求的考虑因素。 站群服务器是一种用于托管多个网站的服务器,通常用于搜索引擎优化(SEO)和网络内容管…...
HTB Perfection
Perfection User Namp ┌──(kali㉿kali)-[~/HTB/machine/Perfection] └─$ nmap -A 10.129.226.58 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-03 21:10 EST Nmap scan report for 10....
如何远程连接MySQL数据库?
在现代互联网时代,远程连接MySQL数据库成为了许多开发者和管理员必备的技能。这不仅方便了数据的共享和管理,还可以使多个团队在全球范围内协同工作。本文将介绍如何通过天联组网实现远程连接MySQL数据库,并实现高效的信息远程通信。 天联组网…...
【 HTML 及浏览器 】前端跨页面通信
前端跨页面通信:连接分散界面的纽带 在构建复杂的前端应用时,我们常常需要在不同的页面之间进行数据通信。无论是同源页面还是非同源页面,通信机制都是实现多页面数据同步和交互的关键。本文将探讨各种前端跨页面通信的方法,并提…...
内存安全的编程语言
美国政府新颁布《回归基础构件:通往安全软件之路》 《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」 内存安全的编程语言 根据NSA的建议,内存…...
Excel常用公式总结非常实用
16个最实用的Excel万能公式 1、多条件判断 IF(And(条件1,条件2..条件N),条件成立返回值) IF(or(条件1,条件2..条件N),条件成立返回值) 2、多条件查找 Lookup(1,0/((条件1*条件2*...条件N)),返回值区域) 3、多条件求和 Sumifs(值区域,判断区域1,条件1,判断区域2,条…...
window路径特殊字符解决
官方定义命名规范 https://learn.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file 重点 1.目录规范 特殊字符以空格 与点.开头结尾 2.文件规范 特殊字符以空格 与点.开头结尾NUL、COM等文件 解决方案 字符标点符号实际上在字符集定义中有一个很有趣的现象&…...
『大模型笔记』RAG 系统开发中的12大痛点及解决方案
RAG 系统开发中的12大痛点及解决方案 文章目录 问题引入一. 痛点 1:缺失内容1.1. 数据清洗的重要性1.2. 精心设计的提示(Prompt)有助于提高准确性二. 痛点 2:关键文档被遗漏2.1. 通过调整 chunk_size 和 similarity_top_k 参数优化检索效果2.2. 检索结果的优化排序三. 痛点…...
VScode---php环境搭建
文章目录 1.下载php Dehug;php server2.下载php环境3.配置环境变量5.配置php.ini文件6.设置vscode6.测试遇到的问题 1.下载php Dehug;php server 2.下载php环境 下载地址:https://www.php.net/downloads.php 3.配置环境变量 C:\Users\hacker>php -v PHP 8.3.3 (…...
【Vue3】3-6 : 仿ElementPlus框架的el-button按钮组件实
文章目录 前言 本节内容实现需求完整代码如下: 前言 上节,我们学习了 slot插槽,组件内容的分发处理 本节内容 本小节利用前面学习的组件通信知识,来完成一个仿Element Plus框架的el-button按钮组件实现。 仿造的地址:uhttps://…...
.datastore@cyberfear.com.mkp勒索病毒的最新威胁:如何恢复您的数据?
导言: 我们享受着数字化带来的便利,但同时也要面对不断演进的网络威胁。最近出现的 .datastorecyberfear.com.mkp、[hendersoncock.li].mkp [hudsonLcock.li]、.mkp [myersairmail.cc].mkp 勒索病毒就是其中之一,它对我们的数据安全构成了…...
23.基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文PPT)
项目介绍 本旅游网站系统采用的数据库是MYSQL ,使用 JSP 技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…...
SpringCloud-RabbitMQ消息模型
本文深入介绍了RabbitMQ消息模型,涵盖了基本消息队列、工作消息队列、广播、路由和主题等五种常见消息模型。每种模型都具有独特的特点和适用场景,为开发者提供了灵活而强大的消息传递工具。通过这些模型,RabbitMQ实现了解耦、异步通信以及高…...
Linux网络编程 ——UDP 通信
Linux网络编程 ——UDP 通信 1. UDP1.1 UDP 通信1.2 广播1.3 组播(多播) 2. 本地套接字 1. UDP 1.1 UDP 通信 输入 man 2 sendto 查看说明文档 #include <sys/types.h> #include <sys/socket.h>ssize_t sendto(int sockfd, const void *buf…...
TDengine 签约树根互联,应对“高基数”难题
近日,树根互联与涛思数据达成签约合作,共同推动智能制造领域的建设。作为一家处于高速发展期的工业互联网企业,树根互联将新一代信息技术与制造业深度融合,开发了以自主可控的工业互联网操作系统为核心的工业互联网平台——根云平…...
实名制交友-智能匹配-仿二狗交友系统-TP6+uni-APP小程序H5公众号-源码交付-支持二开!
一、代码风格 通常不同的开发者具备不同的代码风格,但为了保证语音交友系统开发质量,在编码前需要进行代码风格的统一,通过制定一定的规则,约束开发者的行为。具有统一风格的代码才能更清晰、更完整、更容易理解、更方便后期维护…...
在CentOS上使用Gunicorn和systemd完整部署Flask应用:详细指南
在现代Web开发中,选择合适的技术栈对于确保应用的稳定性、性能和易于管理至关重要。本篇博客将深入探讨如何在CentOS系统上利用Flask、Gunicorn和systemd的强大组合来部署Web应用。这个全面的流程不仅包括应用的创建和运行,还涉及到如何利用系统服务来管理应用的生命周期,确…...
【信息系统项目管理师】--【信息技术发展】--【新一代信息技术及应用】--【人工智能】
文章目录 第二章 信息技术发展2.2 新一代信息技术及应用2.2.5 人工智能1.技术基础2.关键技术3.应用和发展 第二章 信息技术发展 信息技术是在信息科学的基本原理和方法下,获取信息、处理信息、传输信息和使用信息的应用技术总称。从信息技术的发展过程来看ÿ…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
