Submission #420227


Source Code Expand

// #include C {
#include<cstring>
#include<cassert>
#include<cstdio>
#include<cctype>
#include<cmath>
// }

// #include C++ {
#include<functional>
#include<algorithm>
#include<iostream>
#include<numeric>
#include<vector>
#include<string>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<list>
#include<map>
#include<set>
// }
using namespace std;
// #typedef {
typedef long long int64;
typedef unsigned long long uint64;
typedef pair <int, int> PII;
typedef pair <char, char> PCC;
typedef pair <int64, int64> PLL;
typedef pair <double, double> PDD;
// }

// #parameter{
#ifdef DEBUG_MODE

#define TYPE decltype
#define RF(filename) {freopen((filename), "r", stdin);}
#define WF(filename) {freopen((filename), "w", stdout);}
#define DEBUG printf

#else

#define TYPE __typeof
#define RF(filename) {;}
#define WF(filename) {;}
#define DEBUG(...)

#endif

// #define {
#define SZ(a) ((int)(a).size())
#define X first
#define Y second
#define MP make_pair
#define L(x) ((x)<<1)
#define R(x) ((x)<<1 | 1)
#define max3(x, y, z) (max(max((x), (y)), (z)))
#define min3(x, y, z) (min(min((x), (y)), (z)))
#define BIT(x, i) (((x) >> (i)) & 1)
#define ALL(it) (it).begin(), (it).end()
#define FILL(__space, __val) memset(__space, __val, sizeof(__space))
#define MOVE(__spaceTo, __spaceFrom) memmove(__spaceTo, __spaceFrom, sizeof(__spaceTo))
#define FOR(it, c) for( TYPE((c).begin()) it = (c).begin(); it != (c).end(); it++)
/////////////////////////////////////////////////////////////
const double PI = acos(-1.0);
const double EPS = 1e-6;

#define MAX_N 505
#define MAX_M 4005
#define MAX_L 3005
#define MAXX 0x3f
#define UPPER 2147483647LL
#define INF ((1 << 30) - 1)
#define BINF ((1LL << 62) - 1LL)
#define NONE -1
#define NIL 0
// }

/////////////////////////////////////////////////////////////
const int OFFR[] = { 1, 0, -1, 0 };
const int OFFC[] = { 0, 1, 0, -1 };
char mapp[MAX_N][MAX_N];
bool G[MAX_N][MAX_N];
int H, W;
bool FloodFill(PII s, PII t){
	queue <PII> Q;
	Q.push(s);
	G[s.X][s.Y] = true;
	while (!Q.empty()){
		PII u = Q.front(); Q.pop();
		if (u == t)
			return true;
		for (int k = 0; k < 4; k++){
			int nr = u.X + OFFR[k];
			int nc = u.Y + OFFC[k];
			if (nr >= 0 && nr < H && nc >= 0 && nc < W && mapp[nr][nc] != '#'){
				if (!G[nr][nc]){
					G[nr][nc] = true;
					Q.push(PII(nr, nc));
				}
			}
		}
	}
	return false;
}
/////////////////////////////////////////////////////////////
int main(){
	RF("input.txt");
//	WF("output.txt");

	scanf("%d %d", &H, &W);
	for (int r = 0; r < H; r++) scanf("%s", mapp[r]);
	PII s, t;
	for (int r = 0; r < H; r++) for (int c = 0; c < W; c++){
		if (mapp[r][c] == 's')
			s = PII(r, c);
		if (mapp[r][c] == 'g')
			t = PII(r, c);
	}
	puts(FloodFill(s, t) ? "Yes" : "No");
	return 0;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User longbiau
Language C++11 (GCC 4.9.2)
Score 100
Code Size 2888 Byte
Status AC
Exec Time 36 ms
Memory 1316 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:112:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &H, &W);
                        ^
./Main.cpp:113:50: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for (int r = 0; r < H; r++) scanf("%s", mapp[r]);
                                                  ^

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 25 ms 932 KB
00_min_03.txt AC 26 ms 808 KB
00_min_04.txt AC 26 ms 800 KB
00_min_05.txt AC 26 ms 676 KB
00_min_06.txt AC 26 ms 928 KB
00_min_07.txt AC 26 ms 804 KB
00_min_08.txt AC 26 ms 804 KB
00_sample_01.txt AC 26 ms 804 KB
00_sample_02.txt AC 26 ms 804 KB
00_sample_03.txt AC 25 ms 808 KB
00_sample_04.txt AC 26 ms 800 KB
00_sample_05.txt AC 27 ms 744 KB
01_rnd_00.txt AC 27 ms 1052 KB
01_rnd_01.txt AC 29 ms 1056 KB
01_rnd_02.txt AC 34 ms 1180 KB
01_rnd_03.txt AC 34 ms 1244 KB
01_rnd_04.txt AC 32 ms 1116 KB
01_rnd_05.txt AC 27 ms 1052 KB
01_rnd_06.txt AC 35 ms 1192 KB
01_rnd_07.txt AC 33 ms 1192 KB
01_rnd_08.txt AC 27 ms 1064 KB
01_rnd_09.txt AC 26 ms 1060 KB
01_rnd_10.txt AC 36 ms 1188 KB
01_rnd_11.txt AC 28 ms 1052 KB
01_rnd_12.txt AC 36 ms 1316 KB
01_rnd_13.txt AC 28 ms 1060 KB
01_rnd_14.txt AC 28 ms 1056 KB
01_rnd_15.txt AC 34 ms 1304 KB
01_rnd_16.txt AC 28 ms 1056 KB
01_rnd_17.txt AC 36 ms 1184 KB
01_rnd_18.txt AC 26 ms 1060 KB
01_rnd_19.txt AC 29 ms 1308 KB
02_rndhard_00.txt AC 27 ms 1060 KB
02_rndhard_01.txt AC 27 ms 1052 KB
02_rndhard_02.txt AC 30 ms 1308 KB
02_rndhard_03.txt AC 29 ms 1060 KB
02_rndhard_04.txt AC 27 ms 1060 KB
02_rndhard_05.txt AC 27 ms 1184 KB
02_rndhard_06.txt AC 28 ms 1184 KB
02_rndhard_07.txt AC 27 ms 1060 KB
02_rndhard_08.txt AC 27 ms 1188 KB
02_rndhard_09.txt AC 28 ms 1060 KB
02_rndhard_10.txt AC 27 ms 1056 KB
02_rndhard_11.txt AC 27 ms 1052 KB
02_rndhard_12.txt AC 26 ms 1176 KB
02_rndhard_13.txt AC 28 ms 1060 KB
02_rndhard_14.txt AC 28 ms 1056 KB
02_rndhard_15.txt AC 28 ms 1180 KB
02_rndhard_16.txt AC 27 ms 1068 KB
02_rndhard_17.txt AC 28 ms 1056 KB
02_rndhard_18.txt AC 27 ms 1052 KB
02_rndhard_19.txt AC 25 ms 1176 KB
02_rndhard_20.txt AC 26 ms 1176 KB
02_rndhard_21.txt AC 26 ms 1180 KB
02_rndhard_22.txt AC 27 ms 1056 KB
02_rndhard_23.txt AC 28 ms 1176 KB
02_rndhard_24.txt AC 28 ms 1048 KB
02_rndhard_25.txt AC 28 ms 1052 KB
02_rndhard_26.txt AC 28 ms 1056 KB
02_rndhard_27.txt AC 30 ms 988 KB
02_rndhard_28.txt AC 28 ms 1048 KB
02_rndhard_29.txt AC 28 ms 1052 KB
02_rndhard_30.txt AC 26 ms 1180 KB
02_rndhard_31.txt AC 28 ms 1060 KB
02_rndhard_32.txt AC 28 ms 1056 KB
02_rndhard_33.txt AC 28 ms 1060 KB
02_rndhard_34.txt AC 28 ms 1060 KB
02_rndhard_35.txt AC 27 ms 1060 KB
02_rndhard_36.txt AC 27 ms 1056 KB
02_rndhard_37.txt AC 27 ms 1056 KB
02_rndhard_38.txt AC 27 ms 1048 KB
02_rndhard_39.txt AC 27 ms 1056 KB
03_rndhardsmall_00.txt AC 25 ms 924 KB
03_rndhardsmall_01.txt AC 27 ms 804 KB
03_rndhardsmall_02.txt AC 25 ms 804 KB
03_rndhardsmall_03.txt AC 25 ms 924 KB
03_rndhardsmall_04.txt AC 25 ms 924 KB
03_rndhardsmall_05.txt AC 24 ms 928 KB
03_rndhardsmall_06.txt AC 25 ms 800 KB
03_rndhardsmall_07.txt AC 24 ms 804 KB
03_rndhardsmall_08.txt AC 26 ms 928 KB
03_rndhardsmall_09.txt AC 24 ms 928 KB