站外题,悬棺求救!!!很急!!!
  • 板块题目总版
  • 楼主wky_wsy_
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/31 22:41
  • 上次更新2024/11/1 14:29:10
查看原帖
站外题,悬棺求救!!!很急!!!
1323415
wky_wsy_楼主2024/10/31 22:41

事故发生地
如你所见,这个输出看上去是对的,但结果是WA。
源代码:悬棺求调,很急,在线等!!!!!

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,xa,ya,xb,yb;
char a[110][110];
bool can=false;
inline void dfs(int x,int y){//为了卡常
    if(x==xb&&y==yb){
        can=true;
    }
    if(x>=0&&x<n&&y>=0&&y<n&&a[x][y]=='.'){
        a[x][y]='#';
        dfs(x,y+1);
        dfs(x+1,y);
        dfs(x,y-1);
        dfs(x-1,y);
    }
}
signed main(){
    int t;
    cin>>t;
    while(t--){
        cin>>n;
        
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                char ls=getchar();
                if(ls=='.'||ls=='#'){
                    a[i][j]=ls;
                }
            }
        }
        cin>>xa>>ya>>xb>>yb;
        
        if(a[xa][ya]=='#'||a[xb][yb]=='#'){
            puts("NO");
        }
        else{
            dfs(xa,ya);
        	if(can==true) puts("YES");
        	else puts("NO");
        }
        can=false;
    }
}
2024/10/31 22:41
加载中...