答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案

3 条评论

  • @ 2025-8-5 14:11:42
    
    #include<bits/stdc++.h>
    using namespace std;
    int sx,sy,ex,ey,z,flag,k;
    char a[100][100],use[100][100];
    void dfs(int x,int y,int o){
    	use[x][y]=1;
    	if(x==ex&&y==ey){
    		flag=1;
            return;
    	} 
    	int nx,ny;
    	nx=x-1;
    	ny=y;
    	if(!(nx<0||nx>o||ny<0||ny>o)&&use[nx][ny]=='.'&&a[nx][ny]=='.'&&flag==0){
    		dfs(nx,ny,o);	
    	} 
    	nx=x;
    	ny=y+1;
    	if(!(nx<0||nx>o||ny<0||ny>o)&&use[nx][ny]=='.'&&a[nx][ny]=='.'&&flag==0){
    		dfs(nx,ny,o);	
    	} 
    	nx=x+1;
    	ny=y;
    	if(!(nx<0||nx>o||ny<0||ny>o)&&use[nx][ny]=='.'&&a[nx][ny]=='.'&&flag==0){
    		dfs(nx,ny,o);	
    	} 
    	nx=x;
    	ny=y-1;
    	if(!(nx<0||nx>o||ny<0||ny>o)&&use[nx][ny]=='.'&&a[nx][ny]=='.'&&flag==0){
    		dfs(nx,ny,o);	
    	} 
    }
    int main(){
        cin>>k;
        for(int e=0;e<k;e++){
            flag=0;
            cin>>z;
            for(int i=0;i<z;i++){
                for(int j=0;j<z;j++){
                    cin>>a[i][j]; 
                }
            }
            cin>>sx>>sy>>ex>>ey;
            dfs(sx,sy,z);
            if(flag==0||a[sx][sy]=='#'||a[ex][ey]=='#') cout<<"NO\n";
            else cout<<"YES\n";
            
        }
    	return 0;
    }
    
    • @ 2025-8-5 14:10:34

      陆奕辰给40分答案 !!!!!!!!!陆奕辰给40分答案 !!!!!!!!!陆奕辰给40分答案 !!!!!!!!!

      • @ 2025-8-5 13:41:52

        电脑上面

      • 1

      信息

      ID
      219
      时间
      ms
      内存
      MiB
      难度
      8
      标签
      递交数
      171
      已通过
      27
      上传者