Submission #2141711


Source Code Expand

Copy
#include <algorithm>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <map>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <list>
#include <cstdio>
#include <random>
#include <chrono>
#define INF 1000000000
#define MOD 1000000007ll
#define EPS 1e-10
#define REP(i,m) for(long long i=0; i<m; i++)
#define FOR(i,n,m) for(long long i=n; i<m; i++)
#define DUMP(a) for(long long dump=0; dump<(ll)a.size(); dump++) { cout<<a[dump]; if(dump!=(ll)a.size()-1) cout<<" "; else cout<<endl; }
#define ALL(v) v.begin(),v.end()
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<ll, ll> P;
typedef long double ld;
using namespace std;

int main(){
  int h, w;
  cin >> h >> w;
  bool b[h][w] = { };
  int sx, sy, gx, gy;
  REP(i, h){
    string s;
    cin >> s;
    REP(j, w){
      if(s[j] == 's'){
        sx = i;
        sy = j;
      }
      if(s[j] == 'g'){
        gx = i;
        gy = j;
      }
      if(s[j] == '#'){
        b[i][j] = true;
      }
    }
  }
  b[sx][sy] = true;
  queue<P> q;
  q.push({sx, sy});
  while(q.size()){
    P p = q.front();
    q.pop();
    int dx[4] = {0, 0, 1, -1};
    int dy[4] = {1, -1, 0, 0};
    REP(i, 4){
      int nx = p.first + dx[i];
      int ny = p.second + dy[i];
      if(0 <= nx && nx < h && 0 <= ny && ny < w && !b[nx][ny]){
        q.push({nx, ny});
        b[nx][ny] = true;
      }
    }
  }
  if(b[gx][gy]) cout << "Yes" << endl;
  else cout << "No" << endl;
  return 0;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User EctoPlasma
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1581 Byte
Status
Exec Time 16 ms
Memory 512 KB

Judge Result

Set Name Score / Max Score Test Cases
Sample 0 / 0 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 100 / 100 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 1 ms 256 KB
00_min_02.txt 1 ms 256 KB
00_min_03.txt 1 ms 256 KB
00_min_04.txt 1 ms 256 KB
00_min_05.txt 1 ms 256 KB
00_min_06.txt 1 ms 256 KB
00_min_07.txt 1 ms 256 KB
00_min_08.txt 1 ms 256 KB
00_sample_01.txt 1 ms 256 KB
00_sample_02.txt 1 ms 256 KB
00_sample_03.txt 1 ms 256 KB
00_sample_04.txt 1 ms 256 KB
00_sample_05.txt 1 ms 256 KB
01_rnd_00.txt 10 ms 512 KB
01_rnd_01.txt 15 ms 512 KB
01_rnd_02.txt 15 ms 512 KB
01_rnd_03.txt 14 ms 512 KB
01_rnd_04.txt 15 ms 512 KB
01_rnd_05.txt 11 ms 512 KB
01_rnd_06.txt 15 ms 512 KB
01_rnd_07.txt 16 ms 512 KB
01_rnd_08.txt 10 ms 512 KB
01_rnd_09.txt 11 ms 512 KB
01_rnd_10.txt 14 ms 512 KB
01_rnd_11.txt 11 ms 512 KB
01_rnd_12.txt 15 ms 512 KB
01_rnd_13.txt 15 ms 512 KB
01_rnd_14.txt 11 ms 512 KB
01_rnd_15.txt 15 ms 512 KB
01_rnd_16.txt 10 ms 512 KB
01_rnd_17.txt 15 ms 512 KB
01_rnd_18.txt 10 ms 512 KB
01_rnd_19.txt 15 ms 512 KB
02_rndhard_00.txt 11 ms 512 KB
02_rndhard_01.txt 11 ms 512 KB
02_rndhard_02.txt 12 ms 512 KB
02_rndhard_03.txt 11 ms 512 KB
02_rndhard_04.txt 11 ms 512 KB
02_rndhard_05.txt 11 ms 512 KB
02_rndhard_06.txt 11 ms 512 KB
02_rndhard_07.txt 11 ms 512 KB
02_rndhard_08.txt 11 ms 512 KB
02_rndhard_09.txt 11 ms 512 KB
02_rndhard_10.txt 11 ms 512 KB
02_rndhard_11.txt 11 ms 512 KB
02_rndhard_12.txt 11 ms 512 KB
02_rndhard_13.txt 11 ms 512 KB
02_rndhard_14.txt 11 ms 512 KB
02_rndhard_15.txt 11 ms 512 KB
02_rndhard_16.txt 11 ms 512 KB
02_rndhard_17.txt 11 ms 512 KB
02_rndhard_18.txt 11 ms 512 KB
02_rndhard_19.txt 11 ms 512 KB
02_rndhard_20.txt 11 ms 512 KB
02_rndhard_21.txt 11 ms 512 KB
02_rndhard_22.txt 11 ms 512 KB
02_rndhard_23.txt 11 ms 512 KB
02_rndhard_24.txt 11 ms 512 KB
02_rndhard_25.txt 11 ms 512 KB
02_rndhard_26.txt 11 ms 512 KB
02_rndhard_27.txt 11 ms 512 KB
02_rndhard_28.txt 11 ms 512 KB
02_rndhard_29.txt 11 ms 512 KB
02_rndhard_30.txt 11 ms 512 KB
02_rndhard_31.txt 11 ms 512 KB
02_rndhard_32.txt 11 ms 512 KB
02_rndhard_33.txt 11 ms 512 KB
02_rndhard_34.txt 11 ms 512 KB
02_rndhard_35.txt 11 ms 512 KB
02_rndhard_36.txt 11 ms 512 KB
02_rndhard_37.txt 11 ms 512 KB
02_rndhard_38.txt 11 ms 512 KB
02_rndhard_39.txt 11 ms 512 KB
03_rndhardsmall_00.txt 1 ms 256 KB
03_rndhardsmall_01.txt 1 ms 256 KB
03_rndhardsmall_02.txt 1 ms 256 KB
03_rndhardsmall_03.txt 1 ms 256 KB
03_rndhardsmall_04.txt 1 ms 256 KB
03_rndhardsmall_05.txt 1 ms 256 KB
03_rndhardsmall_06.txt 1 ms 256 KB
03_rndhardsmall_07.txt 1 ms 256 KB
03_rndhardsmall_08.txt 1 ms 256 KB
03_rndhardsmall_09.txt 1 ms 256 KB