博客
关于我
血色先锋队
阅读量:321 次
发布时间:2019-03-04

本文共 824 字,大约阅读时间需要 2 分钟。

洛谷链接:

多次入队,但是入队的时候建议在bfs中入队

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;typedef pair<int,int>PII;int n,m,a,b;int dist[1010][1010];int st[1010][1010];int go[4][2] = {  {1,0},{0,1},{-1,0},{0,-1}};void bfs(){	queue<PII>q;	for(int i=1;i<=a;i++)	{		int x,y;		cin>>x>>y;		q.push({x,y});		st[x][y] = 1;		dist[x][y] = 0;	}		while(q.size())	{		PII t = q.front();		q.pop();		for(int i=0;i<4;i++)		{			int tx = t.first+go[i][0];			int ty = t.second+go[i][1];			if(tx<1||ty<1||tx>n||ty>m||st[tx][ty]) continue;			st[tx][ty] = 1;			dist[tx][ty] = min(dist[tx][ty],dist[t.first][t.second]+1);			q.push({tx,ty}); 		}	}}int main(){	cin>>n>>m>>a>>b;		memset(dist,0x3f3f3f3f,sizeof dist);		bfs();		for(int i=1;i<=b;i++)	{		int x,y;		cin>>x>>y;		cout<<dist[x][y]<<endl;	}	return 0;}

 

转载地址:http://cxah.baihongyu.com/

你可能感兴趣的文章
二叉树 简单实现 问题解决
查看>>
第2章 可行性研究
查看>>
python入门——运算符
查看>>
less简介、less安装、编译、less语法之变量、嵌套、类混入、函数混入、运算、less文件导入
查看>>
【springmvc】传值的几种方式&&postman接口测试
查看>>
泳道图简介
查看>>
Tomcat6中web项目部署路径webapps和wtpwebapps的区别
查看>>
Java判断字符串是否为金额
查看>>
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码9
查看>>
nginx配置文件nginx.conf详细讲解(2)
查看>>
nginx配置文件nginx.conf详细讲解(4)--终结篇
查看>>
某公司运维岗位笔试题8
查看>>
一个简单的shell脚本:weblogic日志按天生成(日志压缩)
查看>>
skyfans之每天一个Liunx命令系列之二:uptime
查看>>
js中的文档碎片的理解与使用
查看>>
Kubernetes十三--Pod定义文件内容详解
查看>>
3、69道Spring面试题及答案
查看>>
普歌- LRF-(简单易懂)笔记本电脑USB接口案例 接口多态(向下转型)
查看>>
Java中如何构建树结构
查看>>
若依启动流程
查看>>