Submission #7447376


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
bool g[502][502],check;//小区,总体可不可行
int n,m,sx,sy,ex,ey;//行,列,开始坐标,结束坐标
int dx[]={0,0,-1,1};//偏移量
int dy[]={1,-1,0,0};

void dfs(int x,int y){
    if(check){//如果之前已经有正确情况就直接退出
        return ;
    }
    if(ex==x&&ey==y){//这是正确情况,将总体情况(check)赋值为true,之后退出
        check=true;
        return ;
    }
    /*!!!这就是为什么g要定成502x502,为的是防止越界!
    将小区外面围一圈false之后,妈妈就再也不会担心我越界了!
    毕竟是false,不会搜到,那么想要搜到再外面也不可能了。
    */
    int nowx,nowy;
    for(int i=0;i<4;i++){
        nowx=x+dx[i];nowy=y+dy[i];
        if(g[nowx][nowy]){
            g[x][y]=false;
            dfs(nowx,nowy);
            //这里不能将状态回归!
            //毕竟之前竟然到过这里那么这里的情况肯定已经全部搜我。我因为没有早些出坑,找了半天错就是不知道为啥TLE,:-(
        }
    }
}

int main(){
    //49-64行为输入
    cin>>n>>m;
    char c;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>c;
            if(c!='#'){
                g[i][j]=true;
                if(c=='s'){
                    sx=i;sy=j;
                }
                if(c=='g'){
                    ex=i;ey=j;
                }
            }
        }
    }
    g[sx][sy]=false;
    dfs(sx,sy);//搜索一下
    if(check){//Perfect ending (英)、Fin parfait(法)、Der perfekte abschluss eines(德)。中文自己查:-)
        cout<<"Yes\n";
    }
    else{
        cout<<"No\n";
    }
    return 0;
} 

Submission Info

Submission Time
Task A - 深さ優先探索
User luogu_bot3
Language C++ (GCC 5.4.1)
Score 100
Code Size 1802 Byte
Status AC
Exec Time 24 ms
Memory 7936 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 83
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt AC 1 ms 256 KB
00_min_02.txt AC 3 ms 384 KB
00_min_03.txt AC 1 ms 256 KB
00_min_04.txt AC 1 ms 256 KB
00_min_05.txt AC 1 ms 256 KB
00_min_06.txt AC 1 ms 256 KB
00_min_07.txt AC 1 ms 256 KB
00_min_08.txt AC 1 ms 256 KB
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
00_sample_04.txt AC 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
01_rnd_00.txt AC 14 ms 256 KB
01_rnd_01.txt AC 19 ms 4992 KB
01_rnd_02.txt AC 19 ms 3072 KB
01_rnd_03.txt AC 20 ms 7936 KB
01_rnd_04.txt AC 15 ms 640 KB
01_rnd_05.txt AC 16 ms 512 KB
01_rnd_06.txt AC 18 ms 2432 KB
01_rnd_07.txt AC 18 ms 2816 KB
01_rnd_08.txt AC 15 ms 512 KB
01_rnd_09.txt AC 15 ms 512 KB
01_rnd_10.txt AC 18 ms 896 KB
01_rnd_11.txt AC 14 ms 512 KB
01_rnd_12.txt AC 18 ms 3200 KB
01_rnd_13.txt AC 16 ms 1024 KB
01_rnd_14.txt AC 16 ms 512 KB
01_rnd_15.txt AC 18 ms 1280 KB
01_rnd_16.txt AC 14 ms 512 KB
01_rnd_17.txt AC 19 ms 1152 KB
01_rnd_18.txt AC 15 ms 512 KB
01_rnd_19.txt AC 16 ms 2432 KB
02_rndhard_00.txt AC 16 ms 512 KB
02_rndhard_01.txt AC 16 ms 512 KB
02_rndhard_02.txt AC 16 ms 512 KB
02_rndhard_03.txt AC 16 ms 512 KB
02_rndhard_04.txt AC 16 ms 512 KB
02_rndhard_05.txt AC 16 ms 512 KB
02_rndhard_06.txt AC 16 ms 512 KB
02_rndhard_07.txt AC 16 ms 512 KB
02_rndhard_08.txt AC 16 ms 512 KB
02_rndhard_09.txt AC 16 ms 512 KB
02_rndhard_10.txt AC 16 ms 512 KB
02_rndhard_11.txt AC 16 ms 512 KB
02_rndhard_12.txt AC 16 ms 512 KB
02_rndhard_13.txt AC 16 ms 512 KB
02_rndhard_14.txt AC 16 ms 512 KB
02_rndhard_15.txt AC 16 ms 512 KB
02_rndhard_16.txt AC 16 ms 512 KB
02_rndhard_17.txt AC 16 ms 512 KB
02_rndhard_18.txt AC 16 ms 512 KB
02_rndhard_19.txt AC 17 ms 512 KB
02_rndhard_20.txt AC 16 ms 512 KB
02_rndhard_21.txt AC 16 ms 512 KB
02_rndhard_22.txt AC 16 ms 512 KB
02_rndhard_23.txt AC 16 ms 512 KB
02_rndhard_24.txt AC 16 ms 512 KB
02_rndhard_25.txt AC 16 ms 512 KB
02_rndhard_26.txt AC 16 ms 512 KB
02_rndhard_27.txt AC 16 ms 512 KB
02_rndhard_28.txt AC 16 ms 512 KB
02_rndhard_29.txt AC 16 ms 512 KB
02_rndhard_30.txt AC 16 ms 512 KB
02_rndhard_31.txt AC 16 ms 512 KB
02_rndhard_32.txt AC 24 ms 512 KB
02_rndhard_33.txt AC 16 ms 512 KB
02_rndhard_34.txt AC 16 ms 512 KB
02_rndhard_35.txt AC 16 ms 512 KB
02_rndhard_36.txt AC 16 ms 512 KB
02_rndhard_37.txt AC 16 ms 512 KB
02_rndhard_38.txt AC 16 ms 512 KB
02_rndhard_39.txt AC 16 ms 512 KB
03_rndhardsmall_00.txt AC 1 ms 256 KB
03_rndhardsmall_01.txt AC 1 ms 256 KB
03_rndhardsmall_02.txt AC 1 ms 256 KB
03_rndhardsmall_03.txt AC 1 ms 256 KB
03_rndhardsmall_04.txt AC 1 ms 256 KB
03_rndhardsmall_05.txt AC 1 ms 256 KB
03_rndhardsmall_06.txt AC 1 ms 256 KB
03_rndhardsmall_07.txt AC 1 ms 256 KB
03_rndhardsmall_08.txt AC 1 ms 256 KB
03_rndhardsmall_09.txt AC 1 ms 256 KB