Submission #11420764


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
using vvi = vector<vi>;
using mii = map<int, int>;
const int INF = 1e9;
const ll LINF = 1e18;
#define MP(a,b) make_pair((a),(b))
#define MT(...) make_tuple(__VA_ARGS__)

#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,x) for(int i=0;i<(int)(x);i++)
#define REPS(i,x) for(int i=1;i<=(int)(x);i++)
#define RREP(i,x) for(int i=((int)(x)-1);i>=0;i--)
#define RREPS(i,x) for(int i=((int)(x));i>0;i--)

#define ALL(x) (x).begin(),(x).end()
#define IN(type,a) type a;cin >> a
#define YES(n) cout << ((n) ? "YES" : "NO"  ) << endl
#define Yes(n) cout << ((n) ? "Yes" : "No"  ) << endl
#define COUT(x) cout << (x) << endl
#define DCOUT(x,n) cout << fixed << setprecision(n) << (x) << endl
int h,w;
vector<vector<char>> c(500,vector<char>(500));
vector<vector<bool>> a(500,vector<bool>(500,false));

void DFS(int y, int x){
    a[y][x] = true;
    if (x<w-1) {
        if (!a[y][x+1]&&((c[y][x+1]=='.')||(c[y][x+1]=='g'))) {
            DFS(y,x+1);
        }
    }
    if (y<h-1) {
        if (!a[y+1][x]&&((c[y+1][x]=='.')||(c[y+1][x]=='g'))) {
            DFS(y+1,x);
        }
    }
    if (x>0) {
        if (!a[y][x-1]&&((c[y][x-1]=='.')||(c[y][x-1]=='g'))) {
            DFS(y,x-1);
        }
    }
    if (y>0) {
        if (!a[y-1][x]&&((c[y-1][x]=='.')||(c[y-1][x]=='g'))) {
            DFS(y-1,x);
        }
    }
    return;
}

int main() {
    cin >> h >> w;
    int s1,s2;
    int g1,g2;
    REP(i, h){
        REP(j, w){
            cin >> c[i][j];
            if (c[i][j]=='s') {
                s1=i;
                s2=j;
            }else if (c[i][j]=='g') {
                g1=i;
                g2=j;
            }
        }
    }
    DFS(s1, s2);
    Yes(a[g1][g2]);
}

Submission Info

Submission Time
Task A - 深さ優先探索
User Graphium314
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1882 Byte
Status AC
Exec Time 34 ms
Memory 31744 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 512 KB
00_min_02.txt AC 1 ms 512 KB
00_min_03.txt AC 1 ms 512 KB
00_min_04.txt AC 1 ms 512 KB
00_min_05.txt AC 1 ms 512 KB
00_min_06.txt AC 1 ms 512 KB
00_min_07.txt AC 1 ms 512 KB
00_min_08.txt AC 1 ms 512 KB
00_sample_01.txt AC 1 ms 512 KB
00_sample_02.txt AC 1 ms 512 KB
00_sample_03.txt AC 1 ms 512 KB
00_sample_04.txt AC 1 ms 512 KB
00_sample_05.txt AC 1 ms 512 KB
01_rnd_00.txt AC 15 ms 512 KB
01_rnd_01.txt AC 31 ms 24960 KB
01_rnd_02.txt AC 24 ms 9344 KB
01_rnd_03.txt AC 34 ms 31744 KB
01_rnd_04.txt AC 30 ms 23040 KB
01_rnd_05.txt AC 15 ms 512 KB
01_rnd_06.txt AC 22 ms 6144 KB
01_rnd_07.txt AC 24 ms 10368 KB
01_rnd_08.txt AC 15 ms 512 KB
01_rnd_09.txt AC 15 ms 512 KB
01_rnd_10.txt AC 19 ms 1536 KB
01_rnd_11.txt AC 15 ms 512 KB
01_rnd_12.txt AC 27 ms 17408 KB
01_rnd_13.txt AC 27 ms 16896 KB
01_rnd_14.txt AC 15 ms 512 KB
01_rnd_15.txt AC 21 ms 3968 KB
01_rnd_16.txt AC 15 ms 512 KB
01_rnd_17.txt AC 20 ms 2944 KB
01_rnd_18.txt AC 15 ms 512 KB
01_rnd_19.txt AC 34 ms 30208 KB
02_rndhard_00.txt AC 15 ms 640 KB
02_rndhard_01.txt AC 15 ms 640 KB
02_rndhard_02.txt AC 16 ms 768 KB
02_rndhard_03.txt AC 16 ms 768 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 15 ms 640 KB
02_rndhard_09.txt AC 15 ms 640 KB
02_rndhard_10.txt AC 15 ms 640 KB
02_rndhard_11.txt AC 15 ms 640 KB
02_rndhard_12.txt AC 15 ms 640 KB
02_rndhard_13.txt AC 15 ms 640 KB
02_rndhard_14.txt AC 15 ms 640 KB
02_rndhard_15.txt AC 15 ms 640 KB
02_rndhard_16.txt AC 15 ms 512 KB
02_rndhard_17.txt AC 15 ms 512 KB
02_rndhard_18.txt AC 15 ms 640 KB
02_rndhard_19.txt AC 15 ms 640 KB
02_rndhard_20.txt AC 15 ms 640 KB
02_rndhard_21.txt AC 15 ms 640 KB
02_rndhard_22.txt AC 15 ms 640 KB
02_rndhard_23.txt AC 15 ms 640 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 640 KB
02_rndhard_27.txt AC 16 ms 512 KB
02_rndhard_28.txt AC 15 ms 640 KB
02_rndhard_29.txt AC 15 ms 640 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 640 KB
02_rndhard_33.txt AC 16 ms 640 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 640 KB
02_rndhard_39.txt AC 15 ms 640 KB
03_rndhardsmall_00.txt AC 1 ms 512 KB
03_rndhardsmall_01.txt AC 1 ms 512 KB
03_rndhardsmall_02.txt AC 1 ms 512 KB
03_rndhardsmall_03.txt AC 1 ms 512 KB
03_rndhardsmall_04.txt AC 1 ms 512 KB
03_rndhardsmall_05.txt AC 1 ms 512 KB
03_rndhardsmall_06.txt AC 1 ms 512 KB
03_rndhardsmall_07.txt AC 1 ms 512 KB
03_rndhardsmall_08.txt AC 1 ms 512 KB
03_rndhardsmall_09.txt AC 1 ms 512 KB