1 solutions

  • 0
    @ 2025-8-11 4:52:11

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll n,g,a[105][105],x,y,l,r;
    string st;
    ll dx[5]={0,0,0,1,-1};
    ll dy[5]={0,1,-1,0,0};
    void dfs(ll x,ll y)
    {
    	a[x][y]=1;
    	for(ll i=1;i<=4;i++)
    	{
    		ll xx=x+dx[i],yy=y+dy[i];
    		if(xx<1||xx>n||yy<1||yy>n||a[xx][yy]==1)continue;
    		dfs(x+dx[i],y+dy[i]);
    	}
    }
    
    void solve(){
    	cin>>n;
    	for(ll i=1;i<=n;i++)
    	{
    		cin>>st;
    		for(ll j=1;j<=n;j++)
    		{
    			if(st[j-1]=='.') a[i][j]=0;
    			else a[i][j]=1;
    		}
    	}
    	cin>>x>>y>>l>>r;
    	x++,y++,l++,r++;
    	if(a[x][y]==1||a[l][r]==1) 
    	{
    		cout<<"NO\n";
    		return ;
    	} 
    	dfs(x,y);
    	if(a[l][r]==1) cout<<"YES";
    	else cout<<"NO";
    	cout<<"\n";
    }
    int main() {
    	cin>>g;
    	while(g--)
    	{
    		solve();
    	}
    	return 0;
    }
    
    
    • 1

    Information

    ID
    19
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    # Submissions
    15
    Accepted
    5
    Uploaded By