ソースコード 拡げる

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

using ll = long long;
const int INF = 1<<29;
const int MOD = (int)1e9 + 7;
const double EPS = 1e-9;
const int dx[4]={1,0,-1,0};
const int dy[4]={0,1,0,-1};
#ifdef LOCAL_ENV
#define debug(var) std::cout<<#var" = "<<var<<std::endl
#else
#define debug(var)
#endif
#define p(var)  std::cout<<var<<std::endl
#define PI (acos(-1))
#define rep(i, n)   for(int i=0, i##_length=(n); i< i##_length; ++i)
#define repeq(i, n) for(int i=1, i##_length=(n); i<=i##_length; ++i)
#define all(a) (a).begin(), (a).end()
#define pb push_back
inline double isnatural(double a) { return a>=0 && ceil(a)==floor(a); }
template<typename T> inline T gcd(T a, T b) { return b ? gcd(b,a%b) : a; }
template<typename T> inline T lcm(T a, T b) { return a / gcd(a,  b) * b; }
template<typename T1, typename T2>inline bool chmax(T1 &a, T2 b) { return a < b && (a = b, true); }
template<typename T1, typename T2>inline bool chmin(T1 &a, T2 b) { return a > b && (a = b, true); }
template<typename T1, typename T2> ostream& operator<<(ostream& s, const pair<T1, T2>& p) {return s << "(" << p.first << ", " << p.second << ")";}
template<typename T> ostream& operator<<(ostream& s, const vector<T>& v) {
for (int i = 0, len = v.size(); i < len; ++i){
s << v[i]; if (i < len - 1) s << "\t";
}
return s;
}
template<typename T> ostream& operator<<(ostream& s, const vector< vector<T> >& vv) {
for (int i = 0, len = vv.size(); i < len; ++i){
s << vv[i] << endl;
}
return s;
}
template<typename T1, typename T2> ostream& operator<<(ostream& s, const map<T1, T2>& m) {
s << "{" << endl;
for (typeof(m.begin()) itr = m.begin(); itr != m.end(); ++itr){
s << "\t" << (*itr).first << " : " << (*itr).second << endl;
}
s << "}" << endl;
return s;
}

/*-----8<-----8<-----*/

int H,W;
vector<string> a;
queue<pair<int,int>> que;

bool bfs(){
while(!que.empty()){
pair<int,int> q=que.front();
que.pop();
rep(i,4){
int nx=q.first+dx[i];
int ny=q.second+dy[i];
if(0<=nx && nx<H && 0<=ny && ny<W){
if(a[nx][ny]=='g'){
return true;
}else if(a[nx][ny]=='.'){
a[nx][ny]='#';
que.push(make_pair(nx,ny));
}
}
}
}
return false;
}

int main() {

cin >> H >> W;
a=vector<string>(H,"");

rep(i,H){
cin >> a[i];
rep(j,W){
if(a[i][j]=='s'){
a[i][j]='#';
que.push(make_pair(i,j));
}

}
}

if(bfs()){
p("Yes");
}else{
p("No");
}

return 0;
}

```

#### 提出情報

提出日時 2019-05-06 21:36:47+0900 A - 深さ優先探索 kyon2326 C++14 (GCC 5.4.1) 100 2522 Byte AC 14 ms 512 KB

#### ジャッジ結果

セット名 Sample All

 AC × 5
 AC × 83
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
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 10 ms 512 KB
01_rnd_02.txt 12 ms 512 KB
01_rnd_03.txt 13 ms 512 KB
01_rnd_04.txt 12 ms 512 KB
01_rnd_05.txt 10 ms 512 KB
01_rnd_06.txt 13 ms 512 KB
01_rnd_07.txt 13 ms 512 KB
01_rnd_08.txt 10 ms 512 KB
01_rnd_09.txt 10 ms 512 KB
01_rnd_10.txt 13 ms 512 KB
01_rnd_11.txt 10 ms 512 KB
01_rnd_12.txt 14 ms 512 KB
01_rnd_13.txt 10 ms 512 KB
01_rnd_14.txt 10 ms 512 KB
01_rnd_15.txt 12 ms 512 KB
01_rnd_16.txt 10 ms 512 KB
01_rnd_17.txt 14 ms 512 KB
01_rnd_18.txt 10 ms 512 KB
01_rnd_19.txt 11 ms 512 KB
02_rndhard_00.txt 10 ms 512 KB
02_rndhard_01.txt 10 ms 512 KB
02_rndhard_02.txt 11 ms 512 KB
02_rndhard_03.txt 11 ms 512 KB
02_rndhard_04.txt 10 ms 512 KB
02_rndhard_05.txt 10 ms 512 KB
02_rndhard_06.txt 10 ms 512 KB
02_rndhard_07.txt 10 ms 512 KB
02_rndhard_08.txt 10 ms 512 KB
02_rndhard_09.txt 10 ms 512 KB
02_rndhard_10.txt 10 ms 512 KB
02_rndhard_11.txt 10 ms 512 KB
02_rndhard_12.txt 10 ms 512 KB
02_rndhard_13.txt 10 ms 512 KB
02_rndhard_14.txt 10 ms 512 KB
02_rndhard_15.txt 10 ms 512 KB
02_rndhard_16.txt 10 ms 512 KB
02_rndhard_17.txt 10 ms 512 KB
02_rndhard_18.txt 10 ms 512 KB
02_rndhard_19.txt 10 ms 512 KB
02_rndhard_20.txt 10 ms 512 KB
02_rndhard_21.txt 10 ms 512 KB
02_rndhard_22.txt 10 ms 512 KB
02_rndhard_23.txt 10 ms 512 KB
02_rndhard_24.txt 13 ms 512 KB
02_rndhard_25.txt 10 ms 512 KB
02_rndhard_26.txt 10 ms 512 KB
02_rndhard_27.txt 10 ms 512 KB
02_rndhard_28.txt 10 ms 512 KB
02_rndhard_29.txt 10 ms 512 KB
02_rndhard_30.txt 10 ms 512 KB
02_rndhard_31.txt 10 ms 512 KB
02_rndhard_32.txt 10 ms 512 KB
02_rndhard_33.txt 10 ms 512 KB
02_rndhard_34.txt 10 ms 512 KB
02_rndhard_35.txt 10 ms 512 KB
02_rndhard_36.txt 10 ms 512 KB
02_rndhard_37.txt 10 ms 512 KB
02_rndhard_38.txt 10 ms 512 KB
02_rndhard_39.txt 10 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