Submission #765311


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#undef _P
#define _P(...) (void)printf(__VA_ARGS__)
#define forr(x,arr) for(auto&& x:arr)
#define rep(i,a,b) for (int i = (a); i < (b); i++)
#define rrep(i,a,b) for (int i = (b)-1; i >= (a); i--)
#define ALL(x) (x).begin(), (x).end()
#define BIT(n) (1LL<<(n))
#define SZ(x) ((int)(x).size())
#define Y first
#define X second
#define DUMP( x ) cerr << #x << " = " << ( x ) << endl
typedef long long ll;
// -------------------------------------

template<typename T> inline bool inside(T y, T x, T h, T w) { return 0 <= y && y < h && 0 <= x && x < w; };

typedef pair<int, int> II;

void Main() {
  int H, W;
  cin >> H >> W;
  vector<string> M(H);
  II S, G;
  rep(y, 0, H) {
    cin >> M[y];
    rep(x, 0, W) {
      if (M[y][x] == 's') S = {y, x};
      if (M[y][x] == 'g') G = {y, x};
    }
  }

  vector<vector<bool>> used(H, vector<bool>(W, 0));
  int DY[4] = {1, 0, -1, 0};
  int DX[4] = {0, 1, 0, -1};

  stack<II> st;
  st.push(S);

  while(!st.empty()) {
    II cur = st.top(); st.pop();
    if (cur == G) {
      puts("Yes");
      return;
    }
    used[cur.Y][cur.X] = true;
    rep(i, 0, 4) {
      int ny = cur.Y + DY[i];
      int nx = cur.X + DX[i];
      if (!inside(ny, nx, H, W)) continue;
      if (M[ny][nx] == '#') continue;
      if (used[ny][nx]) continue;
      st.push({ny, nx});
    }
  }
  puts("No");
}
int main() { cin.tie(0); ios::sync_with_stdio(false); Main(); return 0; }

Submission Info

Submission Time
Task A - 深さ優先探索
User shiratty8
Language C++11 (GCC 4.9.2)
Score 100
Code Size 1512 Byte
Status AC
Exec Time 43 ms
Memory 2336 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 27 ms 800 KB
00_min_02.txt AC 27 ms 916 KB
00_min_03.txt AC 26 ms 920 KB
00_min_04.txt AC 25 ms 800 KB
00_min_05.txt AC 29 ms 728 KB
00_min_06.txt AC 26 ms 792 KB
00_min_07.txt AC 26 ms 788 KB
00_min_08.txt AC 27 ms 924 KB
00_sample_01.txt AC 28 ms 924 KB
00_sample_02.txt AC 26 ms 812 KB
00_sample_03.txt AC 27 ms 796 KB
00_sample_04.txt AC 26 ms 920 KB
00_sample_05.txt AC 26 ms 812 KB
01_rnd_00.txt AC 26 ms 1048 KB
01_rnd_01.txt AC 39 ms 2336 KB
01_rnd_02.txt AC 32 ms 1312 KB
01_rnd_03.txt AC 37 ms 2084 KB
01_rnd_04.txt AC 29 ms 1240 KB
01_rnd_05.txt AC 29 ms 1180 KB
01_rnd_06.txt AC 36 ms 1444 KB
01_rnd_07.txt AC 40 ms 1440 KB
01_rnd_08.txt AC 27 ms 1060 KB
01_rnd_09.txt AC 27 ms 1060 KB
01_rnd_10.txt AC 37 ms 1184 KB
01_rnd_11.txt AC 28 ms 1056 KB
01_rnd_12.txt AC 43 ms 2076 KB
01_rnd_13.txt AC 31 ms 1368 KB
01_rnd_14.txt AC 26 ms 1176 KB
01_rnd_15.txt AC 27 ms 1056 KB
01_rnd_16.txt AC 28 ms 1184 KB
01_rnd_17.txt AC 40 ms 1240 KB
01_rnd_18.txt AC 27 ms 1112 KB
01_rnd_19.txt AC 29 ms 1316 KB
02_rndhard_00.txt AC 27 ms 1064 KB
02_rndhard_01.txt AC 25 ms 1056 KB
02_rndhard_02.txt AC 29 ms 1112 KB
02_rndhard_03.txt AC 29 ms 1176 KB
02_rndhard_04.txt AC 26 ms 1176 KB
02_rndhard_05.txt AC 27 ms 1108 KB
02_rndhard_06.txt AC 26 ms 1056 KB
02_rndhard_07.txt AC 27 ms 1112 KB
02_rndhard_08.txt AC 27 ms 1112 KB
02_rndhard_09.txt AC 27 ms 1112 KB
02_rndhard_10.txt AC 27 ms 1108 KB
02_rndhard_11.txt AC 27 ms 1112 KB
02_rndhard_12.txt AC 28 ms 1060 KB
02_rndhard_13.txt AC 28 ms 1060 KB
02_rndhard_14.txt AC 27 ms 1036 KB
02_rndhard_15.txt AC 27 ms 1104 KB
02_rndhard_16.txt AC 25 ms 1176 KB
02_rndhard_17.txt AC 26 ms 1176 KB
02_rndhard_18.txt AC 26 ms 1176 KB
02_rndhard_19.txt AC 26 ms 1172 KB
02_rndhard_20.txt AC 27 ms 1068 KB
02_rndhard_21.txt AC 26 ms 1056 KB
02_rndhard_22.txt AC 26 ms 1064 KB
02_rndhard_23.txt AC 27 ms 1112 KB
02_rndhard_24.txt AC 27 ms 1112 KB
02_rndhard_25.txt AC 26 ms 1176 KB
02_rndhard_26.txt AC 26 ms 1176 KB
02_rndhard_27.txt AC 27 ms 1112 KB
02_rndhard_28.txt AC 26 ms 1176 KB
02_rndhard_29.txt AC 26 ms 1052 KB
02_rndhard_30.txt AC 27 ms 1184 KB
02_rndhard_31.txt AC 27 ms 1068 KB
02_rndhard_32.txt AC 28 ms 1056 KB
02_rndhard_33.txt AC 28 ms 1060 KB
02_rndhard_34.txt AC 27 ms 1064 KB
02_rndhard_35.txt AC 27 ms 1176 KB
02_rndhard_36.txt AC 27 ms 1108 KB
02_rndhard_37.txt AC 27 ms 1112 KB
02_rndhard_38.txt AC 26 ms 1064 KB
02_rndhard_39.txt AC 27 ms 1112 KB
03_rndhardsmall_00.txt AC 24 ms 728 KB
03_rndhardsmall_01.txt AC 26 ms 916 KB
03_rndhardsmall_02.txt AC 26 ms 800 KB
03_rndhardsmall_03.txt AC 26 ms 796 KB
03_rndhardsmall_04.txt AC 25 ms 920 KB
03_rndhardsmall_05.txt AC 26 ms 800 KB
03_rndhardsmall_06.txt AC 26 ms 788 KB
03_rndhardsmall_07.txt AC 25 ms 912 KB
03_rndhardsmall_08.txt AC 25 ms 808 KB
03_rndhardsmall_09.txt AC 25 ms 800 KB