社区讨论

QAQ只有十分跪求dalao

P1332血色先锋队参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi6uiiv4
此快照首次捕获于
2025/11/20 11:02
4 个月前
此快照最后确认于
2025/11/20 11:02
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,a,b,tim[100000005][2],end[501][2],top,rear;
int f[4][2]={{0,-1},{0,1},{1,0},{-1,0}}; 
int used[10000][10000];
void bfs(){
	int i,j;
	while(top<rear)
	{
		++top;
		for(i=0;i<4;i++)
		{
			int t1=tim[top][0]+f[i][0],
			t2=tim[top][1]+f[i][1],
			step=used[tim[top][0]][tim[top][1]]+1;
			if(used[t1][t2]==-1)
				tim[++rear][0]=t1,
				tim[rear][1]=t2,
				used[t1][t2]=step;
		}
	}
}
int main(){
	int i,j;
	cin>>n>>m>>a>>b;
	rear=a;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			used[i][j]=-1;
	for(i=1;i<=a;i++)
	{
		cin>>tim[i][0]>>tim[i][1];
		used[tim[i][0]][tim[i][1]]=0;
	}
	for(i=0;i<b;i++)
	{
		cin>>end[i][0]>>end[i][1];
	}
	bfs();
	for(i=0;i<b;i++)
		cout<<used[end[i][0]][end[i][1]]<<endl;
	return 0;
}
三个RE,六个WA 跪求dalao帮忙看看,我快要哭了

回复

3 条回复,欢迎继续交流。

正在加载回复...