博客
关于我
血色先锋队
阅读量: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/

你可能感兴趣的文章
看完这篇操作系统,和面试官扯皮就没问题了!
查看>>
OpenStack发布Ussuri版本 实现智能开源基础设施的自动化
查看>>
整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划
查看>>
2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
查看>>
“编程能力差,90%输在了数学上!”CTO:多数程序员都是瞎努力!
查看>>
霍因科技获首届全国信创产业生态创新奖
查看>>
我是程序员,我用这种方式铭记历史
查看>>
F5打造“感知可控,随需而变的应用” 助力企业实现非凡数字体验
查看>>
CSDN湘苗培优|保持热情,告别平庸
查看>>
Serverless 在大规模数据处理中的实践
查看>>
高可用Redis服务架构分析与搭建
查看>>
运营商的互联网蜕变,从沃云平台开始
查看>>
下一次 IT 变革:边缘计算(Edge computing)
查看>>
Gartner的预言:通向混合IT之旅
查看>>
Docker精华问答 | task与executor有什么关系?
查看>>
英特尔强势上新一大波数据产品,小伙伴们“奔走相告”…… | 极客头条
查看>>
成为最大的独立开源公司,对SUSE意味着什么? | 人物志
查看>>
Elastic全球用户大会Elastic{ON}首次落地北京
查看>>
红帽:将开源进行到底
查看>>
SaaS前世今生:老树开新花
查看>>