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 ;
  }
  
 
}
目录
相关文章
|
12天前
acwing 898 数字三角形
acwing 898 数字三角形
24 2
|
9天前
acwing 1076 迷宫问题
acwing 1076 迷宫问题
7 0
|
12天前
lanqiao OJ 641 迷宫
lanqiao OJ 641 迷宫
22 0
|
5月前
|
Java
HDU-1272-小希迷宫
HDU-1272-小希迷宫
29 0
|
5月前
|
算法 C语言
每日一题——迷宫问题(I)
每日一题——迷宫问题(I)
【LeetCode-每日一题】-120. 三角形最小路径和
【LeetCode-每日一题】-120. 三角形最小路径和
|
Java
BFS广度优先遍历——Acwing 844. 走迷宫
BFS广度优先遍历——Acwing 844. 走迷宫
79 0
洛谷 P1141 01迷宫
洛谷 P1141 01迷宫
77 0
洛谷P1605:迷宫
洛谷P1605:迷宫
80 0