Submission #5292378


Source Code Expand

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;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User kyon2326
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2522 Byte
Status
Exec Time 14 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 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