1332多元bfs

/*
多元bfs就是从多个点开始,开始的时候多往初始队列放几个进去
距离数组中最好初始化为-1;然后再起点入队时赋值为0
*/
#include<bits/stdc++.h>
using namespace std;
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int f[510][510],dist[510][510];
struct node{
    int x,y;
};
int main(){
    memset(dist,-1,sizeof(dist));
   // memset(f,-1,sizeof(f));
   int n,m,a,b;
    cin>>n>>m>>a>>b;
    queue<node> q;
    node t1;
    for(int i=1;i<=a;i++){
        int k,t;
        cin>>k>>t;
    t1.x=k;
    t1.y=t;
    f[k][t]=1;
    q.push(t1);
    dist[k][t]=0;
    }
    
    while(q.size()){
        int a=q.front().x;
        int b=q.front().y;
        q.pop();
        for(int i=0;i<4;i++){
            int a1=dx[i]+a;
            int b1=dy[i]+b;
            if(a1<1||a1>n||b1<1||b1>m)continue;
            if(dist[a1][b1]>=0)continue;
            if(f[a1][b1]==1)continue;
            dist[a1][b1]=dist[a][b]+1;
            node temp;
            temp.x=a1;
            temp.y=b1;
           
            q.push(temp);
        }
    }
    for(int i=1;i<=b;i++){
      int k,t;
      cin>>k>>t;
      printf("%d\n",dist[k][t]);
    }
//cout<<dist[5][4];
    return 0;
}

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

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

相关文章

math模块篇(五)

文章目录 math.remainder(x, y)math.sumprod(p, q)math.trunc(x)math.ulp(x)math.cbrt(x)math.exp(x)math.exp2(x)math.expm1(x) math.remainder(x, y) math.remainder(x, y) 是 Python 3.8 版本中新增的一个函数&#xff0c;用于计算两个数 x 和 y 相除后的余数。这个函数的行…

Python中的文件读取与保存

1、文件的读取 常用的函数&#xff1a; 1. open()&#xff1a;用于打开文件&#xff0c;可以指定不同的模式&#xff08;读取、写入、追加等&#xff09;来操作文件内容。 2. write()&#xff1a;用于将数据写入文件。 3. close()&#xff1a;用于关闭文件&#xff0c;确保文件…

C++ set 常用部分

文章目录 关键特性定义及初始化一些基本操作查找插入删除清空遍历lower_bound()、upper_bound()set与unordered_set的区别 关键特性 唯一性&#xff1a;Set容器内的元素都是唯一的&#xff0c;每个元素都是不同的有序性&#xff1a;Set容器内的元素总是排序的&#xff08;C中默…

electron+VUE Browserwindow与webview通信

仅做记录 前言&#xff1a; electronVUEVITE框架&#xff0c;用的是VUE3.0 主进程定义&#xff1a;用于接收webview发送的消息 ipcMain.on(MyWebviewMessage, (event, message) > {logger.info(收到webmsg message)//转发给渲染进程}) porelaod/webPreload.js定义 cons…

C语言编译与链接

前言 我们想一个问题&#xff0c;我们写的C语言代码都是文本信息&#xff0c;电脑能直接执行c语言代码吗&#xff1f;肯定不能啊&#xff0c;计算机能执行的是二进制指令&#xff0c;所以将C语言转化为二进制指令需要一段过程&#xff0c;这篇博客讲一下编译与链接&#xff0c;…

跨域问题详解(vue工程中的解决办法)

目录 1. 什么是跨域 2. 如何解决跨域问题 1. 配置request.js 2. 配置vite.config.js 1. 什么是跨域 跨域问题指的是当一个网页的源&#xff08;origin&#xff09;与另一个网页的源不同时&#xff0c;浏览器出于安全考虑&#xff0c;会限制页面中的跨域请求。源是由协议、主…

五种主流数据库:高级分组

除了基本的分组功能之外&#xff0c;GROUP BY 子句还提供了几个高级选项&#xff0c;可以用来实现更复杂的报表功能。 本文比较五种主流数据库实现的高级分组功能&#xff0c;包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 功能MySQLOracleSQL ServerPostgreSQL…

Day26 手撕各种集合底层源码(一)

Day26 手撕各种集合底层源码&#xff08;一&#xff09; 一、手撕ArrayList底层源码 1、概念&#xff1a; ArrayList的底层实现是基于数组的动态扩容结构。 2、思路&#xff1a; 1.研究继承关系 2.研究属性 3.理解创建集合的过程 – 构造方法的底层原理 4.研究添加元素的过程…

vue实现把Ox格式颜色值转换成rgb渐变颜色值(开箱即用)

图示&#xff1a; 核心代码&#xff1a; //将0x格式的颜色转换为Hex格式&#xff0c;并计算插值返回rgb颜色 Vue.prototype.$convertToHex function (colorCode1, colorCode2, amount) {// 确保输入是字符串&#xff0c;并检查是否以0x开头let newCode1 let newCode2 if (t…

关系型数据库mysql(5)存储引擎

目录 一.存储引擎的概念 二. MyISAM 和 InnoDB 2.1MyISAM介绍 2.2MyISAM支持的存储格式 2.2.1静态表&#xff08;固定长度表&#xff09; 2.2.2动态表 2.2.3压缩表 2.3场景举例 2.4.InnoDB 2.4.1场景举例 2.4.2企业选择存储引擎依据 三.查看存储引擎 3.1查看当前数…

IMU预积分【SLAM】

前言 预积分的推导过程比较多&#xff0c;所以这里只记录关键结论。 其实这些公式不太好记忆&#xff0c;因为预积分推导过程的想法来源很巧妙&#xff0c;无法看出物理意义。 预积分定义式&#xff08;必须记住&#xff09; 一切推导的来源&#xff1a; 最好记忆的旋转相对…

c语言教务成绩管理系统1000+

定制魏:QTWZPW,获取更多源码等 目录 题目 代码主函数 教务信息头文件 题目 编写一个C语言程序,实现一个教务成绩管理系统,至少能够管理30条学生信息。其中: 1)学生信息包括:基本信息和成绩信息。 2)基本信息包括:班级,学号,姓名,性别,专业,普通课程选修数…

C++中的STL简介与string类

目录 STL简介 STL的版本 STL的六大组件 string类 标准库中的string类 string类的常用接口 string类对象对容量的操作 size()函数与length()函数 capacity()函数 capacity的扩容方式 reserve()函数 resize()函数 string类对象的操作 push_back()函数 append()函数 operator()函数…

【01-20】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【01-20】计算机网络基础知识&#xff08;非常详细&#xff09;从零基础入门到精通&#xff0c;看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用1、OSI 的七层模型分别是&#xff1f;各自的功能是什么&#xff1f;2、说一下一次完整的HTTP请求…

1688中国站按关键字搜索工厂数据 API

公共参数 名称类型必须描述keyString是申请免费调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认y…

记录何凯明在MIT的第一堂课:神经网络发展史

https://www.youtube.com/watch?vZ5qJ9IxSuKo 目录 表征学习 主要特点&#xff1a; 方法和技术&#xff1a; LeNet 全连接层​ 主要特点&#xff1a; 主要特点&#xff1a; 网络结构&#xff1a; AlexNet 主要特点&#xff1a; 网络结构&#xff1a; Sigmoid Re…

经典永不过时 Wordpress模板主题

经得住时间考验的模板&#xff0c;才是经典模板&#xff0c;带得来客户的网站&#xff0c;才叫NB网站。 https://www.jianzhanpress.com/?p2484

最详细爬虫零基础教程12——某网评论爬取教程

文章目录 前言一、单页爬取二、翻页案例 前言 本文我们主要是讲述一个某网站评论爬取的案例 一、单页爬取 目标url&#xff1a;https://ke.qq.com/course/380991/12573838881968191?tuin7265bf35#term_id100454125 import jsonpath import requestsif __name__ __main__:#…

HCIP杂记

动态路由的评判标准 占用资源收敛速度选路 动态路由分类&#xff1a; IGP---内部网关协议 DV型---距离矢量型---RIPLS型---链路状态型---OSPFEGP---外部网关协议 OSPF---无类别的路由协议 组播224.0.0.5和224.0.0.6不存在周期更新机制&#xff0c;仅存在触发更新机制&#xff1…