Submission #7137854


Source Code Expand

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <string>
#include <math.h>
#include <stdio.h>
#include <iomanip>
#include <limits>
#include <list>
#include <queue>
#include <deque>
#include <tuple>
#include <map>
#include <sstream>
using namespace std;
#define MOD (long long int)(1e9+7)
#define ll long long int
#define rep(i,n) for(int i=0; i<(int)(n); i++)
#define reps(i,n) for(int i=1; i<=(int)(n); i++)
#define REP(i,n) for(int i=n-1; i>=0; i--)
#define REPS(i,n) for(int i=n; i>0; i--)
#define FOR(i,a,b) for(int i=a; i<(int)(b); i++)
#define ALL(x) (x).begin(),(x).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define SORT(c) sort(ALL(x))
#define CLR(a) memset((a), 0 ,sizeof(a))
#define PB push_back
#define MP make_pair
#define SP << " " <<
const int INF = 1001001001;
const ll LINF = 100100100100100100;
const double EPS = 1e-10;
const double PI  = acos(-1.0);
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<VI> VVI;

template<typename A, size_t N, typename T>
void Fill(A (&array)[N], const T &val){
    std::fill( (T*)array, (T*)(array+N), val );
}
__attribute__((constructor))
void initial(){
	cin.tie(nullptr);
	ios::sync_with_stdio(false);
	cout << fixed << setprecision(15);
}

const int lim = 505;
int h, w;
string c[lim];
int dx[4] = {1,0,-1,0}, dy[4] = {0,1,0,-1};
int sx,sy,gx,gy;
bool visited[lim][lim];

bool dfs(int x, int y){
  visited[y][x] = true;
  rep(i,4){
    int nx=x+dx[i], ny=y+dy[i]; // それぞれ1移動した方向にDFS
    if(nx<0||nx>=w||ny<0||ny<=h) continue; // 場外は考えない
    if(c[ny][nx]=='.'){ // もし隣が道なら
      if(visited[nx][ny]) continue; // すでに探索済みならスルー
      visited[ny][nx] = true;
      if(dfs(nx, ny)) return true; // 初めて訪れるならその座標に対してDFS
    }
    if(c[ny][nx]=='g') return true; // goalに到達したらtrue
  }
  return false; // 探索し終えてしまったらfalse
}

signed main(){
  cin>>h>>w;
  rep(i,h) cin>>c[i];
  rep(i,h){
    rep(j,w){
      if(c[i][j]=='s') sy=i,sx=j;
      visited[i][j] = false;
    }
  }

  bool ans = dfs(sx,sy);
  if(ans) cout << "Yes" << endl;
  else cout << "No" << endl;
  return 0;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User m_9719
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2307 Byte
Status WA
Exec Time 2 ms
Memory 768 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
WA × 2
AC × 69
WA × 14
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 WA 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 WA 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 WA 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
00_sample_04.txt WA 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
01_rnd_00.txt AC 2 ms 768 KB
01_rnd_01.txt WA 2 ms 768 KB
01_rnd_02.txt WA 2 ms 768 KB
01_rnd_03.txt WA 2 ms 768 KB
01_rnd_04.txt WA 2 ms 768 KB
01_rnd_05.txt AC 2 ms 768 KB
01_rnd_06.txt WA 2 ms 768 KB
01_rnd_07.txt WA 2 ms 768 KB
01_rnd_08.txt AC 2 ms 768 KB
01_rnd_09.txt AC 2 ms 768 KB
01_rnd_10.txt AC 2 ms 768 KB
01_rnd_11.txt AC 2 ms 768 KB
01_rnd_12.txt WA 2 ms 768 KB
01_rnd_13.txt WA 2 ms 768 KB
01_rnd_14.txt AC 2 ms 768 KB
01_rnd_15.txt WA 2 ms 768 KB
01_rnd_16.txt AC 2 ms 768 KB
01_rnd_17.txt AC 2 ms 768 KB
01_rnd_18.txt AC 2 ms 768 KB
01_rnd_19.txt WA 2 ms 768 KB
02_rndhard_00.txt AC 2 ms 768 KB
02_rndhard_01.txt AC 2 ms 768 KB
02_rndhard_02.txt AC 2 ms 768 KB
02_rndhard_03.txt AC 2 ms 768 KB
02_rndhard_04.txt AC 2 ms 768 KB
02_rndhard_05.txt AC 2 ms 768 KB
02_rndhard_06.txt AC 2 ms 768 KB
02_rndhard_07.txt AC 2 ms 768 KB
02_rndhard_08.txt AC 2 ms 768 KB
02_rndhard_09.txt AC 2 ms 768 KB
02_rndhard_10.txt AC 2 ms 768 KB
02_rndhard_11.txt AC 2 ms 768 KB
02_rndhard_12.txt AC 2 ms 768 KB
02_rndhard_13.txt AC 2 ms 768 KB
02_rndhard_14.txt AC 2 ms 768 KB
02_rndhard_15.txt AC 2 ms 768 KB
02_rndhard_16.txt AC 2 ms 768 KB
02_rndhard_17.txt AC 2 ms 768 KB
02_rndhard_18.txt AC 2 ms 768 KB
02_rndhard_19.txt AC 2 ms 768 KB
02_rndhard_20.txt AC 2 ms 768 KB
02_rndhard_21.txt AC 2 ms 768 KB
02_rndhard_22.txt AC 2 ms 768 KB
02_rndhard_23.txt AC 2 ms 768 KB
02_rndhard_24.txt AC 2 ms 768 KB
02_rndhard_25.txt AC 2 ms 768 KB
02_rndhard_26.txt AC 2 ms 768 KB
02_rndhard_27.txt AC 2 ms 768 KB
02_rndhard_28.txt AC 2 ms 768 KB
02_rndhard_29.txt AC 2 ms 768 KB
02_rndhard_30.txt AC 2 ms 768 KB
02_rndhard_31.txt AC 2 ms 768 KB
02_rndhard_32.txt AC 2 ms 768 KB
02_rndhard_33.txt AC 2 ms 768 KB
02_rndhard_34.txt AC 2 ms 768 KB
02_rndhard_35.txt AC 2 ms 768 KB
02_rndhard_36.txt AC 2 ms 768 KB
02_rndhard_37.txt AC 2 ms 768 KB
02_rndhard_38.txt AC 2 ms 768 KB
02_rndhard_39.txt AC 2 ms 768 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