1 条题解
-
0
#include<bits/stdc++.h> using namespace std; struct node{ int x; int y; }; const int dx[4]={0,-1,0,1}; const int dy[4]={-1,0,1,0}; int an,bn,cn,dn; int n; queue<node>q; int a[101][101]; int vis[101][101]; void bfs(){ vis[an][bn]=1; node d; int tx,ty; if(a[an][bn]==1){ cout<<"NO"<<endl; exit(0); } while(!q.empty()){ node u=q.front(); q.pop(); for(int i=0;i<4;i++){ if(u.x==cn&&u.y==dn){ cout<<"YES"<<endl; exit(0); } tx=u.x+dx[i]; ty=u.y+dy[i]; if(tx<1||ty<1||tx>n||ty>n||a[tx][ty]==1||vis[tx][ty]==1)continue; vis[tx][ty]=1; d={tx,ty}; q.push(d); } } cout<<"NO"<<endl; } int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } cin>>an>>bn>>cn>>dn; node tmp={an,bn}; q.push(tmp); bfs(); return 0; }
- 1
信息
- ID
- 657
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 84
- 已通过
- 36
- 上传者