Submission #2556652


Source Code Expand

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

vector<int> route;
char a[502][502];


void search(int place1,int place2){
    if(a[place1][place2-1] == 'g'||a[place1][place2+1] == 'g'||a[place1-1][place2] == 'g'||a[place1+1][place2] == 'g'){
        cout << "Yes" << endl;
        exit(0);
    }
    int bk = route.back();
    a[place1][place2] = '#';
    if(a[place1][place2-1] == '.'){//左
        route.push_back(1);
        search(place1,place2-1);
    }
    if(a[place1+1][place2] == '.'){//下
        route.push_back(2);
        search(place1+1,place2);
    }
    if(a[place1][place2+1] == '.'){//右
        route.push_back(3);
        search(place1,place2+1);
    }
    if(a[place1-1][place2] == '.'){//上
        route.push_back(4);
        search(place1-1,place2);
    }
    route.pop_back();//戻る
    if(bk == 0){
        cout << "No" << endl;
        exit(0);
    }
    if(bk == 1)search(place1,place2+1);
    if(bk == 2)search(place1-1,place2);
    if(bk == 3)search(place1,place2-1);
    if(bk == 4)search(place1+1,place2);
}

int main(void){
    int h,w;
    cin >> h >> w;
    int start[2];
    for(int i = 0;i < h+2;i++){
        for(int j = 0;j < w+2;j++){
            if(i == 0 ||j == 0||i == h+1||j == w+1)a[i][j] = '#';
            else{
                cin >> a[i][j];
                if(a[i][j] == 's'){
                    start[0] = i;
                    start[1] = j;
                }
            }
        }

    }
    route.push_back(0);
    search(start[0],start[1]);
    return 0;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User tubotu
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1619 Byte
Status AC
Exec Time 35 ms
Memory 34432 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 1 ms 256 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 15 ms 512 KB
01_rnd_01.txt AC 20 ms 9212 KB
01_rnd_02.txt AC 23 ms 14844 KB
01_rnd_03.txt AC 25 ms 19188 KB
01_rnd_04.txt AC 31 ms 27892 KB
01_rnd_05.txt AC 15 ms 512 KB
01_rnd_06.txt AC 16 ms 1280 KB
01_rnd_07.txt AC 28 ms 22528 KB
01_rnd_08.txt AC 15 ms 512 KB
01_rnd_09.txt AC 15 ms 512 KB
01_rnd_10.txt AC 30 ms 27264 KB
01_rnd_11.txt AC 15 ms 512 KB
01_rnd_12.txt AC 22 ms 12796 KB
01_rnd_13.txt AC 28 ms 23544 KB
01_rnd_14.txt AC 15 ms 512 KB
01_rnd_15.txt AC 18 ms 6400 KB
01_rnd_16.txt AC 15 ms 512 KB
01_rnd_17.txt AC 35 ms 34432 KB
01_rnd_18.txt AC 15 ms 512 KB
01_rnd_19.txt AC 27 ms 22132 KB
02_rndhard_00.txt AC 15 ms 768 KB
02_rndhard_01.txt AC 15 ms 768 KB
02_rndhard_02.txt AC 19 ms 7040 KB
02_rndhard_03.txt AC 18 ms 6400 KB
02_rndhard_04.txt AC 15 ms 512 KB
02_rndhard_05.txt AC 15 ms 512 KB
02_rndhard_06.txt AC 15 ms 640 KB
02_rndhard_07.txt AC 15 ms 512 KB
02_rndhard_08.txt AC 16 ms 1920 KB
02_rndhard_09.txt AC 16 ms 2048 KB
02_rndhard_10.txt AC 16 ms 1920 KB
02_rndhard_11.txt AC 16 ms 1920 KB
02_rndhard_12.txt AC 15 ms 1280 KB
02_rndhard_13.txt AC 15 ms 1280 KB
02_rndhard_14.txt AC 16 ms 1920 KB
02_rndhard_15.txt AC 16 ms 1920 KB
02_rndhard_16.txt AC 15 ms 640 KB
02_rndhard_17.txt AC 15 ms 640 KB
02_rndhard_18.txt AC 15 ms 768 KB
02_rndhard_19.txt AC 15 ms 768 KB
02_rndhard_20.txt AC 15 ms 768 KB
02_rndhard_21.txt AC 15 ms 768 KB
02_rndhard_22.txt AC 15 ms 1536 KB
02_rndhard_23.txt AC 15 ms 1152 KB
02_rndhard_24.txt AC 15 ms 640 KB
02_rndhard_25.txt AC 15 ms 640 KB
02_rndhard_26.txt AC 15 ms 768 KB
02_rndhard_27.txt AC 15 ms 512 KB
02_rndhard_28.txt AC 15 ms 768 KB
02_rndhard_29.txt AC 15 ms 768 KB
02_rndhard_30.txt AC 15 ms 512 KB
02_rndhard_31.txt AC 15 ms 512 KB
02_rndhard_32.txt AC 15 ms 1408 KB
02_rndhard_33.txt AC 15 ms 1280 KB
02_rndhard_34.txt AC 15 ms 640 KB
02_rndhard_35.txt AC 15 ms 640 KB
02_rndhard_36.txt AC 15 ms 640 KB
02_rndhard_37.txt AC 15 ms 640 KB
02_rndhard_38.txt AC 15 ms 768 KB
02_rndhard_39.txt AC 15 ms 896 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