当前位置: 首页 > news >正文

广搜bfs-P1443 马的遍历

P1443 马的遍历

题目来源-洛谷

在这里插入图片描述

题意

要求马到达棋盘上任意一个点最少要走几步

思路

  • 国际棋盘规则是马的走法是-日字形,也称走马日,即x,y一个是走两步,一个是一步

  • 要求最小步数,所以考虑第一次遍历到的点即为最小步数,即bfs宽搜处理

  • 套模板,遍历的可能即为当前位置的不同走法,借助数组来处理

    int zx[] = {1,1,-1,-1,2,2,-2,-2} ; int zy[] = {2,-2,2,-2,1,-1,1,-1};坐标入队时即刻更新步数即可

参考代码

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 405;
void bfs(int x,int y);
int m,n;//n行m列
struct node{int x,y;
};
queue <node> q;
int zx[] = {1,1,-1,-1,2,2,-2,-2} ;
int zy[] = {2,-2,2,-2,1,-1,1,-1};
bool f[MAXN][MAXN] = {false};
int ans[MAXN][MAXN] ;
int main(){int x0,y0; cin>>n>>m>>x0>>y0;bfs(x0,y0) ;return 0;
}
void bfs(int x,int y){//node k = (x,y);//直接创建一个结构体 -这种建法需要做自定义函数 node k = node{x,y} ;q.push(k);f[x][y] = true;while(!q.empty()){int x1 = q.front().x,y1 = q.front().y ;//取出队首 q.pop();//弹出队首 for(int i=0;i<8;i++){int nx = x1+zx[i],ny = y1+zy[i];//忘八个方向遍历 if(nx<1||nx>n||ny<1||ny>m||f[nx][ny]) continue;//越界或者被访问过则访问下一个点q.push((node){nx,ny});//该点入队 ans[nx][ny] = ans[x1][y1]+1 ; //该点一定是马从(x1,y1)点走过来的 f[nx][ny] = true;//标记 }}//输出答案for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(f[i][j] ) cout<<ans[i][j]<<" ";else cout<<-1<<" ";//没被访问过说明没办法走到,-1 }cout<<endl;} return ;
}

相关文章:

广搜bfs-P1443 马的遍历

P1443 马的遍历 题目来源-洛谷 题意 要求马到达棋盘上任意一个点最少要走几步 思路 国际棋盘规则是马的走法是-日字形&#xff0c;也称走马日&#xff0c;即x,y一个是走两步&#xff0c;一个是一步 要求最小步数&#xff0c;所以考虑第一次遍历到的点即为最小步数&#xff…...

Ubuntu22.04安装QT、px4安装环境

Ubuntu22.04安装QGC编译环境、QT、px4编译环境 安装QGC安装Ubuntu安装QT配置px4安装环境出现错误怎么办 安装QGC 我使用的是pixhawk V5飞控&#xff0c;在QGC4.4 Guide里&#xff0c;说 安装Ubuntu 直接去清华源里将Ubuntu镜像下载下来&#xff08;网址&#xff1a;清华源下…...

【IDEA2020】 解决开发时遇到的一些问题

目录 一、批量更新数据库数据 逐条更新 Db.updateEntitiesBatch() 二、Error running&#xff0c;Command line is too long. Shorten command line 报错场景 报错分析 解决方法 一、批量更新数据库数据 逐条更新 List<UserModel> ums userMapper.selectListBy…...

基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。

1.首先安装autoware &#xff0c;大家可以以下一下博客进行安装&#xff0c;如果缺少库什么的直接问ai安装对应的库就行。ubuntu18.04安装Autoware1.14---GPU版 最全环境配置说明_autoware1.14安装教程-CSDN博客 安装成功后运行&#xff1a; source install/setup.bash roslau…...

抽象类和接口的区别

1. 定义 抽象类&#xff1a;用于描述一类事物的共性接口&#xff1a;用于描述行为。 2. 方法和变量 抽象类&#xff1a; 可以有普通方法和抽象方法。可以有普通成员变量和静态常量。 接口&#xff1a; JDK 8之前只支持抽象方法&#xff0c;JDK 8后支持默认方法和静态方法…...

自注意力机制self-attention

目录 简介&#xff1a; 输入和输出方式&#xff1a; Sequence Labeling&#xff1a; self-attention运作方式&#xff1a; 一&#xff1a;怎么从vector得到b1 二&#xff1a;利用矩阵的方法怎么得到 Multi-head Self-attention&#xff1a; positional encoding&#x…...

《Operating System Concepts》阅读笔记:p735-p737

《Operating System Concepts》学习第 62 天&#xff0c;p735-p737 总结&#xff0c;总计 3 页。 一、技术总结 1.distributed system (1)定义 A collection of loosely coupled nodes interconnected by a communication network(一组通过通信网络相互连接的松散耦合节点)…...

2025-04-19 Python 强类型编程

文章目录 1 方法标注1.1 参数与返回值1.2 变参类型1.3 函数类型 2 数据类型2.1 内置类型2.2 复杂数据结构2.3 类别选择2.4 泛型 3 标注方式3.1 注释标注3.2 文件标注 4 特殊情形4.1 前置引用4.2 函数标注扩展4.3 协变与逆变4.4 dataclass 5 高级内容5.1 接口5.2 泛型的协变/逆变…...

RVOS的任务调度优化

12.系统优化–任务调度 12.1 改进任务管理功能 在原有基础上进⼀步改进任务管理功能。具体要求&#xff1a;改进 task_create()&#xff0c;提供更多的参数&#xff0c;具体改进后的函数如下所⽰&#xff1a; int task_create(void (*task)(void* param),void *param, uint8…...

【论文阅读20】-CNN-Attention-BiGRU-滑坡预测(2025-03)

这篇论文主要探讨了基于深度学习的滑坡位移预测模型&#xff0c;结合了MT-InSAR&#xff08;多时相合成孔径雷达干涉测量&#xff09;观测数据&#xff0c;提出了一种具有可解释性的滑坡位移预测方法。 [1] Zhou C, Ye M, Xia Z, et al. An interpretable attention-based deep…...

图像预处理-图像噪点消除

一.基本介绍 噪声&#xff1a;指图像中的一些干扰因素&#xff0c;也可以理解为有那么一些点的像素值与周围的像素值格格不入。常见的噪声类型包括高斯噪声和椒盐噪声。 滤波器&#xff1a;也可以叫做卷积核 - 低通滤波器是模糊&#xff0c;高通滤波器是锐化 - 低通滤波器就…...

PP-OCR的安卓端部署

EMO了几天 我浪费了几天的生命&#xff0c;去研究PP-OCR的模型微调、从训练模型导出预测模型&#xff0c;结果一个坑接着一个坑&#xff0c;没有善终。 找了好多资料&#xff0c;得到一些负面信息&#xff0c;比如说飞浆的团队修复问题不及时啦&#xff0c;代码仓库有好多年不…...

2048小游戏C++板来啦!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;我是PingdiGuo_guo&#xff0c;今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机…...

研0大模型学习(第四、五天)

学习CSDN教程&#xff1a;VSCode Debug指南 但里面貌似主要是针对nodejs的&#xff0c;所以我在 CSDN教程&#xff1a;VSCode调试python程序 中学习&#xff0c;刚开始调试报错python版本太低&#xff0c;于是我安装了旧版本的pythondebugger&#xff0c;再把python解释器从原…...

编程规范之整数运算

在表达式中混用有符号数和无符号数时&#xff0c;可能会因隐式转换而导致非预期的结果。因此应尽量在表达式中使用相同符号类型的 变量。 对于无法使用相同符号类型的场景&#xff0c;应将不同类型的变量显式转换为相同类型&#xff0c;当表达式中的无符号数隐式转换为另一个有…...

【零基础】基于 MATLAB + Gurobi + YALMIP 的优化建模与求解全流程指南

MATLAB Gurobi YALMIP 综合优化教程&#xff08;进阶&#xff09; 本教程系统介绍如何在 MATLAB 环境中使用 YALMIP 建模&#xff0c;并通过 Gurobi 求解器高效求解线性、整数及非线性优化问题。适用于工程、运营研究、能源系统等领域的高级优化建模需求。 一、工具概览 1.…...

C++17 信号量模拟实现

C17 信号量模拟实现 一、实现原理 C17 标准库没有原生信号量(C20才有)&#xff0c;但可以通过 std::mutex std::condition_variable 模拟实现。以下是核心逻辑&#xff1a; #include <mutex> #include <condition_variable>class CountingSemaphore { private:…...

LINUX学习——守护进程的含义及编程实现

实验目的 理解守护进程的含义。掌握编程实现守护进程的主要步骤。 实验步骤 守护进程的含义&#xff1a; 守护进程是运行在后台的一种特殊进程&#xff0c;独立于控制终端&#xff0c;周期性地执行任务或等待处理事件。守护进程通常以 d 结尾&#xff0c;如 httpd、sshd 等。…...

Json 在线格式化 - 加菲工具

Json 在线格式化 打开网站 加菲工具 选择“Json 在线格式化” 或者直接进入 https://www.orcc.top/tools/json 输入Json&#xff0c;点击左上角的“格式化”按钮 得到格式化后的结果...

final关键字带来的问题

定义了一个配置类&#xff1a; public class EsignConfig { public static final String EsignOrgId "*****"; // 应用ID public static final String EsignAppId "*****"; // 应用密钥 public static final String EsignAppSecret…...

Flash存储器(一):接口标准全解析

目录 一.接口类型与协议标准 二.应用场景 Flash存储器的接口设计直接影响其性能、应用场景及系统集成复杂度。以下从接口类型、协议标准及应用场景三个方面进行系统阐述。 一.接口类型与协议标准 Flash接口类型与协议标准 序号接口类型协议标准特点1并行接口…...

第18周:对于ResNeXt-50算法的思考

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 问题&#xff1a;在上一章代码中是ResNeXt-50的残差单元&#xff0c;问题:如果conv shortcutFalse那么在执行“xAdd0)…“语句时&#xff0c;通道数不一致的&…...

Django 结合 Vue 实现简单管理系统的详解

以下是一个 Django 结合 Vue 实现简单管理系统的详细步骤及示例代码: 项目整体架构思路 后端:使用 Django 搭建 RESTful API,负责数据的存储和处理。前端:使用 Vue 构建用户界面,通过调用后端 API 实现数据的展示、添加、修改和删除等操作。步骤 1:创建 Django 项目和应…...

ValueError: model.embed_tokens.weight doesn‘t have any device set

ValueError: model.embed_tokens.weight doesn’t have any device set model.embed_tokens.weight 通常在深度学习框架(如 PyTorch)中使用,一般是在处理自然语言处理(NLP)任务时,用于指代模型中词嵌入层(Embedding layer)的权重参数。下面详细解释: 词嵌入层的作用 …...

公务员行测之速算分数记忆检验-无答案版本

前言 这一篇是根据百分数&#xff0c;默写分数&#xff0c;我发现我看见百分数有点想不到分数 速算之百分数记忆检验 50 % \ 50\% 50% 33.3 % \ 33.3\% 33.3% 25 % \ 25\% 25% 20 % \ 20\% 20% 16.7 % \ 16.7\% 16.7% 14.3 % \ 14.3\% 14.3% 12.5 % \ 12.5\% 1…...

大模型面经 | DeepSpeed中ZeRO-1、ZeRO-2和ZeRO-3的区别是什么?

大家好,我是皮先生!! 今天给大家分享一些关于大模型面试常见的面试题,希望对大家的面试有所帮助。 往期回顾: 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题一) 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题二) 大模型面经 | 春招、秋招算法…...

【Java面试系列】Spring Boot微服务架构下的分布式事务设计与实现详解 - 3-5年Java开发必备知识

【Java面试系列】Spring Boot微服务架构下的分布式事务设计与实现详解 - 3-5年Java开发必备知识 引言 在微服务架构中&#xff0c;分布式事务是一个不可避免的话题。随着业务复杂度的提升&#xff0c;单体应用逐渐演变为多个微服务&#xff0c;如何保证跨服务的数据一致性成为…...

大语言模型减少幻觉的常见方案

什么是大语言模型的幻觉 大语言模型的幻觉&#xff08;Hallucination&#xff09;是指模型在生成文本时&#xff0c;输出与输入无关、不符合事实、逻辑错误或完全虚构的内容。这种现象主要源于模型基于概率生成文本的本质&#xff0c;其目标是生成语法合理、上下文连贯的文本&…...

方案解读:虚拟电厂标杆项目整体建设方案【附全文阅读】

在电力市场背景下,传统电力现货市场存在电能定价不合理、分布式电源并网困难等问题。本虚拟电厂标杆项目旨在研究全时间尺度虚拟电厂智能管控关键技术,通过研制虚拟电厂控制器样机、开发运行管理平台,实现对分布式能源的合理优化配置。项目内容涵盖虚拟调控、建设目标、建设…...

shiro使用

shiro是apache提供的一种安全框架。他可以将登录&#xff0c;权限这一方面简单化。 使用shiro需要引入 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.9.0</version></depend…...

Spring Boot日志系统详解:Logback与SLF4J的默认集成

大家好呀&#xff01;&#x1f44b; 今天我们来聊聊Spring Boot中一个超级重要但又经常被忽视的功能——日志系统&#xff01; 一、日志系统的重要性 首先&#xff0c;咱们得明白为什么日志这么重要&#xff1f;&#x1f937;‍♂️ 想象一下&#xff0c;你正在玩一个超级复…...

基于SpringBoot成绩管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

AI象棋 3.0 |AI自动下象棋工具,破译残局,自动帮助下棋,内置视频教程

Ai象棋是一款自动识别棋盘并分析下棋局势的工具&#xff0c;它能够自动化操作&#xff0c;帮助用户学习象棋知识。该软件无限制使用、界面无广告简洁&#xff0c;并提供永久授权。数据库中挑选1到2个即可完全满足使用需求&#xff0c;不必全部下载&#xff0c;解压mt管理器即可…...

刘鑫炜履新共工新闻社新媒体研究院院长,赋能媒体融合新征程

2025年4月18日&#xff0c;大湾区经济网战略媒体共工新闻社正式对外宣布一项重要人事任命&#xff1a;聘任蚂蚁全媒体总编刘鑫炜为新媒体研究院第一任院长。这一举措&#xff0c;无疑是对刘鑫炜在新媒体领域卓越专业能力与突出行业贡献的又一次高度认可&#xff0c;也预示着共工…...

学习型组织与系统思考

真正的学习型组织不是只关注个人的学习&#xff0c;而是关注整个系统的学习。—彼得圣吉 在这两年里&#xff0c;越来越多的企业开始询问是否可以将系统思考的内容内化给自己的内训师&#xff0c;进而在公司内部进行教学。我非常理解企业这样做的动机&#xff0c;毕竟内部讲师…...

mysql中优先使用datetime存储时间

基于大模型的问答进行了记录。 对为甚timestamp不如datetime好用做了深入了解&#xff0c;再此记录 范围广 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’ 而 timestamp 仅支持’1970-01-01 00:00:01’ 到 ‘2038-01-19 03:14:07’ UTC, 存在2038年问题, 不适合长期存…...

【Linux】深入理解Linux文件系统:从C接口到内核设计哲学

文章目录 前言一、C语言中的文件接口1. 文件指针&#xff08;句柄&#xff09;FILE*以写方式打开文件&#xff0c;若文件不存在会新建一个文件W写入方式&#xff0c;在打开文件之前都会将文件内容全部清空追加写方式&#xff0c;其用法与写方法一致&#xff0c;不同在于a方法可…...

前端零基础入门到上班:Day7——表单系统实战全解析

&#x1f9e9;前端零基础入门到上班&#xff1a;Day7——表单系统实战全解析 ✅ 目标&#xff1a;不仅掌握 HTML 表单标签&#xff0c;更深入理解其在实战中的作用、验证方式、美化技巧与 JS 联动&#xff0c;为后续接入 Vue、后端接口打下坚实基础。 &#x1f31f; 一、HTML 表…...

阀门轴承电动车工件一键精修软件

若需定制开发“ComfyUI意见精修软件” 技术栈建议&#xff1a; 前端&#xff1a;React/Vue Figma插件API&#xff08;直接读取设计稿&#xff09;。 后端&#xff1a;Node.js/Python NLP库&#xff08;spaCy/NLTK&#xff09;。 数据库&#xff1a;MongoDB&#xff08;存储…...

【疑难杂症】【VS Code】VS Code连接不上远程服务器

【疑难杂症】【VS Code】VS Code连接不上远程服务器 经过多轮资料查询和测试&#xff0c;这种时候有三种可能&#xff1a; 可能原因1&#xff1a;服务器磁盘空间不足&#xff0c;无法创建服务器连接。 解决方案&#xff1a;清理磁盘空间&#xff0c;尤其是/tmp文件所在的磁盘。…...

Word 中“母版页”的等效机制

Word 和 PowerPoint 不太一样——**Word 实际上没有像 PowerPoint 那样的“母版页&#xff08;Master Page&#xff09;”**功能。但它有1个和“母版页”功能类似的东西&#xff0c;可能造成你看到的“校徽自动出现在每一页”的现象&#xff1a; ✅ Word 中“母版页”的等效机制…...

大模型时代:AI应用的变革与挑战

最近研学过程中发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。下面开始对正文内容的…...

C++ (菱形继承,通用接口 ,多态介绍)

菱形继承 class A{public :int a;};class B:public A{};class C:public A{};class D:public B,public C{public:void function(){a200;} };int main(){D object;// object.a100; 如果如此使用会产生报错 会导致一个成员在类D中出现两次&#xff0c;产生歧义&#xff0c;浪…...

vue3+vite 实现.env全局配置

首先创建.env文件 VUE_APP_BASE_APIhttp://127.0.0.1/dev-api 然后引入依赖&#xff1a; pnpm install dotenv --save-dev 引入完成后&#xff0c;在vite.config.js配置文件内加入以下内容&#xff1a; const env dotenv.config({ path: ./.env }).parsed define: { // 将…...

4.18日学习--引用

引用是变量的别名&#xff0c;它为已存在的变量提供了一个新的名称&#xff0c;对引用的操作实际上就是对其所引用变量的操作。引用在定义时必须初始化&#xff0c;且一旦初始化后就不能再引用其他变量。 #include <iostream> using namespace std;//引用做函数的返回值…...

poj1067 取石子游戏 威佐夫博弈

题目 有两堆石子&#xff0c;数量任意&#xff0c;可以不同。游戏开始由两个人轮流取石子。游戏规定&#xff0c;每次有两种不同的取法&#xff0c; 一是可以在任意的一堆中取走任意多的石子&#xff1b;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者…...

文件二进制读写和文本读写以及编码解码

假如是utf8编码&#xff0c;windows系统 写&#xff1a;往键盘中写的字符会被utf8编码成字节写入文件。假如是文本写&#xff0c;\n会被替换为\r\n写入&#xff0c;结尾会加文件结束符EOF。假如是二进制写&#xff0c;\n就是\n&#xff0c;文件结尾也不会加什么EOF 读&#xff…...

Java学习手册:常见并发问题及解决方案

在Java并发编程中&#xff0c;开发者常常会遇到各种并发问题&#xff0c;这些问题可能导致程序行为不可预测、性能下降甚至程序崩溃。以下是一些常见的并发问题及其解决方案&#xff1a; 1.竞态条件&#xff08;Race Condition&#xff09; 竞态条件是指多个线程同时访问共享…...

幽灵依赖与常见依赖管理

文章目录 前言1. 演示&#xff1a;检测和修复幽灵依赖步骤1&#xff1a;安装 depcheck步骤2&#xff1a;在项目根目录运行 depcheck可能的输出步骤3&#xff1a;修复幽灵依赖 2. 依赖管理的好习惯 1. 场景设定现在有如下依赖需求&#xff1a; 2. 依赖冲突的表现3. 解决依赖冲突…...

第T7周:咖啡豆识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 VGG 网络优缺点分析&#xff1a; ● 优点&#xff1a; 结构简洁统一&#xff1a;整张网络结构统一&#xff0c;只使用 33 的小卷积核和 22 的最大池化&…...