acwing 1112 迷宫

简介: acwing 1112 迷宫

活动 - AcWing

注意初始点的判断:切忌

#include<iostream>
#include<algorithm>
#include<cstring>
 
using namespace std ;
const int N = 110 ;
int dis[4][2] = {{-1,0},{1,0},{0,-1},{0,1}} ;
char g[N][N] ;
int n ; 
int a,b,c,d ;
bool vis[N][N] ;
bool flag  ;
void dfs(int u , int v ){
  if(u == c && d == v){
    flag = 1 ; return ;
  }
  for(int i = 0 ; i < 4 ; i++){
    int x = u + dis[i][0] , y = v + dis[i][1] ;
    if(x<0||x>=n||y<0||y>=n||vis[x][y]||g[x][y] == '#') continue ;
    if(flag) return ;
    vis[x][y] = 1 ;
    dfs(x,y) ;
  }
  return ;
}
int main(){
  int t ; cin >> t ;
  while(t --){
    cin >> n ;
    memset(vis,0,sizeof(vis)) ;flag = 0 ;
    for(int i = 0 ; i < n ;i ++) cin >> g[i] ;
    cin >> a >> b >> c >> d ;
    
    vis[a][b] = 1 ;
    dfs(a,b) ;
    if(g[a][b] == '#') flag = 0 ;
    if(a == c && c == d) flag = 1 ;
    
    if(flag) cout << "YES" << endl ;
    else cout <<"NO" << endl ;
  }
  
 
}
目录
相关文章
|
2月前
acwing 898 数字三角形
acwing 898 数字三角形
31 2
|
2月前
acwing 1076 迷宫问题
acwing 1076 迷宫问题
10 0
|
2月前
|
人工智能
AcWing 274. 移动服务(线性dp)
AcWing 274. 移动服务(线性dp)
15 0
|
2月前
acwing 275 传纸条 (线性dp)
acwing 275 传纸条 (线性dp)
16 0
|
2月前
lanqiao OJ 641 迷宫
lanqiao OJ 641 迷宫
31 0
|
7月前
|
算法 C语言
每日一题——迷宫问题(I)
每日一题——迷宫问题(I)
|
Java
BFS广度优先遍历——Acwing 844. 走迷宫
BFS广度优先遍历——Acwing 844. 走迷宫
82 0
洛谷P1605:迷宫
洛谷P1605:迷宫
85 0
洛谷 P1141 01迷宫
洛谷 P1141 01迷宫
81 0