欢迎光临散文网 会员登陆 & 注册

笔记3

2023-09-14 13:39 作者:泽-吾愿之  | 我要投稿

#include<bits/stdc++.h>

using namespace std;

int n,ha,la,hb,lb,a[100][100],sum=1;

int dx[5]={0,0,1,0,-1};

int dy[5]={0,1,0,-1,0};

bool check(int x,int y){

    return x>0&&x<=n&&y>0&&y<=n;

}

void dfs(int x,int y){

     if(x==hb&&y==lb){

         cout<<"YES";

         exit(0);

     }

     for(int i=1;i<=4;i++){

         int tx=x+dx[i];

         int ty=y+dy[i];

         if(a[tx][ty]==0&&check(tx,ty)){

             a[x][y]=1;

             sum++;

             a[tx][ty]=sum;

             dfs(tx,ty);

         }

     }

}

int main(){

     cin>>n;

     for(int i=1;i<=n;i++){

         for(int k=1;k<=n;k++){

              cin>>a[i][k];

         }

     }

     cin>>ha>>la>>hb>>lb;

     if(a[ha][la]==1||a[hb][lb]==1){

         cout<<"NO";

         return 0;

     }

     a[ha][la]=1;

     dfs(ha,la);

     cout<<"NO";

return 0;

}


笔记3的评论 (共 条)

分享到微博请遵守国家法律