题目描述

巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物。孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来,以抵抗天灾军团的围剿。可怕的是,他们之中有人感染上了亡灵瘟疫,如果不设法阻止瘟疫的扩散,很快就会遭到灭顶之灾。大领主阿比迪斯已经开始调查瘟疫的源头。原来是血色先锋军的内部出现了叛徒,这个叛徒已经投靠了天灾军团,想要将整个血色先锋军全部转化为天灾军团!无需惊讶,你就是那个叛徒。在你的行踪败露之前,要尽快完成巫妖王交给你的任务。

军团是一个N行M列的矩阵,每个单元是一个血色先锋军的成员。感染瘟疫的人,每过一个小时,就会向四周扩散瘟疫,直到所有人全部感染上瘟疫。你已经掌握了感染源的位置,任务是算出血色先锋军的领主们感染瘟疫的时间,并且将它报告给巫妖王,以便对血色先锋军进行一轮有针对性的围剿。


输入

第1行:四个整数N,M,A,B,表示军团矩阵有N行M列。有A个感染源,B为血色敢死队中领主的数量。
接下来A行:每行有两个整数x,y,表示感染源在第x行第y列。
接下来B行:每行有两个整数x,y,表示领主的位置在第x行第y列。

输出

第1至B行:每行一个整数,表示这个领主感染瘟疫的时间,输出顺序与输入顺序一致。如果某个人的位置在感染源,那么他感染瘟疫的时间为0。

样例输入 Copy

5 4 2 3
1 1
5 4
3 3
5 3
2 4

样例输出 Copy

3
1
3

思路

先将所有感染源入队,再dfs,将每个传染源依次扩散,一个点第一次搜到为最小传播时间

代码

#include <bits/stdc++.h>using namespace std;
typedef pair<int,int> PII;
int g[510][510];
bool st[510][510];
int n,m,a,b;
int nx[]={0,1,0,-1},ny[]={-1,0,1,0};  //方向数组
queue<PII> q;
void bfs()
{while(q.size()){auto t=q.front();q.pop();int x1=t.first,y1=t.second;for(int i=0;i<4;i++){int k=x1+nx[i],l=y1+ny[i];if(k>0&&l>0&&k<=n&&l<=m&&g[k][l]==0x3f3f3f3f){g[k][l]=g[x1][y1]+1;q.push({k,l});}}}
}
int main()
{cin>>n>>m>>a>>b;memset(g,0x3f,sizeof g);while(a--){int x,y;scanf("%d%d",&x,&y);g[x][y]=0;q.push({x,y});}bfs();while(b--){int x,y;scanf("%d%d",&x,&y);printf("%d\n",g[x][y]);}return 0;
}

血色先锋队(dfs)相关推荐

  1. 2019.6.7 一场搜索专题的考试【including 洛谷·血色先锋队,入门OJ·兴建高铁,珠光宝气阁

    这次分数还好.但全是搜索题还没上200就有点打击人了--[本狸才177QAQ 血色先锋队/血色敢死队 传送门:洛谷P1332 & 入门OJ P2259 Description 邪魔天国领主复活 ...

  2. 洛谷 P1332 血色先锋队

    洛谷 P1332 血色先锋队 第一次写bfs,纪念一下 qwq 之前一直都在写dfs,对bfs有莫名的恐惧 现在觉得...好像差不多 qwq 题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一 ...

  3. P1332 血色先锋队

    P1332 血色先锋队 题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重 ...

  4. P1332 血色先锋队(BFS)

    血色先锋队 题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他 ...

  5. 18.04.02 luoguP1332 血色先锋队

    题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好 ...

  6. luogu P1332 血色先锋队

    题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好 ...

  7. 【u007】血色先锋队

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气 ...

  8. 血色先锋队(BFS)

    题目背景 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好 ...

  9. 【一只蒟蒻的刷题历程】--- 【洛谷】P1332 血色先锋队(BFS)

    题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好 ...

最新文章

  1. php最近还热门么,2018什么开发语言热门 PHP开发语言火侯还会持续吗
  2. python tqdm添加进度条
  3. MFC中的几个常用类——CWnd
  4. php博客详情页怎么做,简书仿站报告(四):如何制作文章详情页
  5. Edittext焦点处理
  6. (王道408考研数据结构)第六章图-第四节2:最小生成树之克鲁斯卡尔算法(思想、代码、演示、答题规范)
  7. 拉普拉斯算子属于卷积方法吗_三代图卷积网络理论
  8. 【转】QT中使用MYSQL中文乱码解决方法
  9. 访问页面出现404的原因
  10. linux 磁盘坏道修复,linux系统下检测硬盘上的坏道和坏块
  11. CDH和CM介绍及搭建
  12. CentOS-Linux操作系统镜像文件下载
  13. “戏”说设计模式——外观(门面)模式
  14. 惠普暗影精灵4pro安装ubuntu16.04
  15. Arduino与Proteus仿真实例-ULN2003驱动直流电机仿真
  16. 自编码器(Auto-encoder)的概念和应用
  17. 网页部署https后浏览器访问风险提示或者您的链接不是私密链接解决方案
  18. 在url中输入ftp的用户名和密码
  19. 喜串(二分递归+传递下标)
  20. hive的大表join小表

热门文章

  1. LiteOS移植到STM32F103系列单片机,非常简单
  2. com.alibaba.fastjson.JSONException: illegal identifier : pos 2, json : [{quot;idquot;:1,quot;}]
  3. 金蝶K3系统sql溢出错误处置记录
  4. 四十八、shuffle机制
  5. 145 - Table ' is marked as crashed and should be repai
  6. 交换机与路由器与猫的区别与合作(带简单实例)
  7. 计算勒让德符号(legendre symbol)代码实现(含运行结果)
  8. 链游Zuki Moba即将上线—排名前三的电子竞技Gamefi
  9. ppst技术视频—— android + mavan环境搭建
  10. 机器学习入门:第十九章 深度信念网络