Submission #6859863


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

typedef pair<int, int> P;
const int INF = -1;

int main(){
  int H, W, sx, sy, gx, gy;
  cin >> H >> W;
  vector<vector<char>> maze(510, vector<char>(510));
  vector<vector<bool>> d(510, vector<bool>(510, false));
  rep(i, H){
    rep(j, W){
      cin >> maze[i][j];
      if (maze[i][j] == 's'){
        sx = j;
        sy = i;
      }
      else if (maze[i][j] == 'g'){
        gx = j;
        gy = i;
      }
    }
  } 
  
  vector<int> dx = {1, 0, -1, 0};
  vector<int> dy = {0, 1, 0, -1};
  
  queue<P> que;
  que.push(P(sx, sy)); //P(sx, sy)はmake_pair(sx, sy)と同じ
  d[sy][sx] = true;
  
  while(que.size()){
    P p = que.front();
    que.pop();
    if(p.first == gx && p.second == gy) break;
    rep(i, 4){
      int nx = p.first + dx[i];
      int ny = p.second + dy[i];
      
      if(nx >= 0 && nx < W && ny >= 0 && ny < H && maze[ny][nx] != '#' && d[ny][nx] == false){
        d[ny][nx] = true;
        que.push(P(nx, ny));
      }
      
    }
    
    
  }
 
  
  if (d[gy][gx]) cout << "Yes" << endl;
  else cout << "No" << endl;
  
}

Submission Info

Submission Time
Task A - 深さ優先探索
User benzenehat
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1213 Byte
Status AC
Exec Time 21 ms
Memory 640 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 640 KB
00_min_02.txt AC 1 ms 640 KB
00_min_03.txt AC 1 ms 640 KB
00_min_04.txt AC 1 ms 640 KB
00_min_05.txt AC 1 ms 640 KB
00_min_06.txt AC 2 ms 640 KB
00_min_07.txt AC 1 ms 640 KB
00_min_08.txt AC 1 ms 640 KB
00_sample_01.txt AC 2 ms 640 KB
00_sample_02.txt AC 2 ms 640 KB
00_sample_03.txt AC 1 ms 640 KB
00_sample_04.txt AC 1 ms 640 KB
00_sample_05.txt AC 2 ms 640 KB
01_rnd_00.txt AC 15 ms 640 KB
01_rnd_01.txt AC 16 ms 640 KB
01_rnd_02.txt AC 18 ms 640 KB
01_rnd_03.txt AC 19 ms 640 KB
01_rnd_04.txt AC 18 ms 640 KB
01_rnd_05.txt AC 16 ms 640 KB
01_rnd_06.txt AC 20 ms 640 KB
01_rnd_07.txt AC 20 ms 640 KB
01_rnd_08.txt AC 15 ms 640 KB
01_rnd_09.txt AC 15 ms 640 KB
01_rnd_10.txt AC 20 ms 640 KB
01_rnd_11.txt AC 15 ms 640 KB
01_rnd_12.txt AC 20 ms 640 KB
01_rnd_13.txt AC 15 ms 640 KB
01_rnd_14.txt AC 15 ms 640 KB
01_rnd_15.txt AC 19 ms 640 KB
01_rnd_16.txt AC 15 ms 640 KB
01_rnd_17.txt AC 21 ms 640 KB
01_rnd_18.txt AC 15 ms 640 KB
01_rnd_19.txt AC 17 ms 640 KB
02_rndhard_00.txt AC 15 ms 640 KB
02_rndhard_01.txt AC 15 ms 640 KB
02_rndhard_02.txt AC 17 ms 640 KB
02_rndhard_03.txt AC 16 ms 640 KB
02_rndhard_04.txt AC 15 ms 640 KB
02_rndhard_05.txt AC 15 ms 640 KB
02_rndhard_06.txt AC 15 ms 640 KB
02_rndhard_07.txt AC 15 ms 640 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 16 ms 640 KB
02_rndhard_16.txt AC 15 ms 640 KB
02_rndhard_17.txt AC 15 ms 640 KB
02_rndhard_18.txt AC 16 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 15 ms 640 KB
02_rndhard_28.txt AC 15 ms 640 KB
02_rndhard_29.txt AC 15 ms 640 KB
02_rndhard_30.txt AC 16 ms 640 KB
02_rndhard_31.txt AC 15 ms 640 KB
02_rndhard_32.txt AC 15 ms 640 KB
02_rndhard_33.txt AC 15 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 16 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 2 ms 640 KB
03_rndhardsmall_01.txt AC 1 ms 640 KB
03_rndhardsmall_02.txt AC 2 ms 640 KB
03_rndhardsmall_03.txt AC 1 ms 640 KB
03_rndhardsmall_04.txt AC 2 ms 640 KB
03_rndhardsmall_05.txt AC 1 ms 640 KB
03_rndhardsmall_06.txt AC 1 ms 640 KB
03_rndhardsmall_07.txt AC 2 ms 640 KB
03_rndhardsmall_08.txt AC 1 ms 640 KB
03_rndhardsmall_09.txt AC 1 ms 640 KB