标签:data 上下 标记 输入数据 必须 并且 安全 一个 出现
#include <bits/stdc++.h>
using namespace std;
const int maxn = 105;
int n,m,r,c,a,b,t;
int mp[maxn*3][maxn][maxn];
int vis[maxn*3][maxn][maxn];
struct node
{
int x,y,time;
node(){}
node(int a,int b,int c){x=a;y=b;time=c;}
};
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
queue<node>q;
void bfs()
{
q.push(node(1,1,0));
vis[0][1][1] = 1;
while(!q.empty())
{
node now = q.front();
q.pop();
int t=now.time,x=now.x,y=now.y;
for(int i=0;i<4;i++)
{
int yy = y+dy[i],xx=x+dx[i];
if(xx<1||xx>n||yy<1||yy>m||vis[t+1][xx][yy]||mp[t+1][xx][yy]) continue;
if(xx==n&&yy==m) {
cout<<t+1<<endl;
return ;
}
q.push(node(xx,yy,t+1));
vis[t+1][xx][yy]=1;
}
}
}
int main()
{
cin>>n>>m>>t;
while(t--)
{
cin>>r>>c>>a>>b;
for(int i=a;i<=b;i++)
mp[i][r][c] = 1;
}
bfs();
return 0;
}
标签:data 上下 标记 输入数据 必须 并且 安全 一个 出现
原文地址:https://www.cnblogs.com/star-and-me/p/9649061.html