Submission #420186
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define repu(i, a, b) for (int i = (a); i < (b); ++i) #define repd(i, a, b) for (int i = (a); i > (b); --i) #define mem(a, x) memset(a, x, sizeof(a)) #define all(a) a.begin(), a.end() #define uni(a) a.erase(unique(all(a)), a.end()) #define count_bits(x) __builtin_popcount(x) #define count_bitsll(x) __builtin_popcountll(x) #define least_bits(x) __builtin_ffs(x) #define least_bitsll(x) __builtin_ffsll(x) #define most_bits(x) 32 - __builtin_clz(x) #define most_bitsll(x) 64 - __builtin_clz(x) vector<string> split(const string &s, char c) { vector<string> v; stringstream ss(s); string x; while (getline(ss, x, c)) v.push_back(x); return v; } #define error(args...) { vector<string> _v = split(#args, ','); err(_v.begin(), args); } void err(vector<string>::iterator it) {} template<typename T, typename... Args> void err(vector<string>::iterator it, T a, Args... args) { cerr << it -> substr((*it)[0] == ' ', it -> length()) << " = " << a << '\n'; err(++it, args...); } typedef long long ll; const int MOD = 1000000007; template<class T> inline T tmin(T a, T b) {return (a < b) ? a : b;} template<class T> inline T tmax(T a, T b) {return (a > b) ? a : b;} template<class T> inline void amax(T &a, T b) {if (b > a) a = b;} template<class T> inline void amin(T &a, T b) {if (b < a) a = b;} template<class T> inline T tabs(T a) {return (a > 0) ? a : -a;} template<class T> T gcd(T a, T b) {while (b != 0) {T c = a; a = b; b = c % b;} return a;} const int N = 505; int n, m; char s[N][N]; bool mk[N][N]; const int dx[] = {0, 0, 1, -1}; const int dy[] = {1, -1, 0, 0}; inline bool inside(int x, int y) { return x >= 0 && x < n && y >= 0 && y < m; } void dfs(int x, int y) { mk[x][y] = 1; repu(i, 0, 4) { int nx = x + dx[i], ny = y + dy[i]; if (inside(nx, ny) && !mk[nx][ny] && s[nx][ny] != '#') dfs(nx, ny); } } int main(int argc, char *argv[]) { ios_base::sync_with_stdio(false); int sx, sy, gx, gy; cin >> n >> m; repu(i, 0, n) { cin >> s[i]; repu(j, 0, m) { if (s[i][j] == 's') sx = i, sy = j; if (s[i][j] == 'g') gx = i, gy = j; } } mem(mk, 0); dfs(sx, sy); printf("%s\n", mk[gx][gy] ? "Yes" : "No"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - 深さ優先探索 |
User | rantd |
Language | C++ (GCC 4.9.2) |
Score | 100 |
Code Size | 2303 Byte |
Status | AC |
Exec Time | 44 ms |
Memory | 6176 KB |
Compile Error
./Main.cpp:28:30: warning: variadic templates only available with -std=c++11 or -std=gnu++11 template<typename T, typename... Args> ^ ./Main.cpp:29:52: warning: variadic templates only available with -std=c++11 or -std=gnu++11 void err(vector<string>::iterator it, T a, Args... args) { ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
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 | 24 ms | 1056 KB |
00_min_02.txt | AC | 26 ms | 1060 KB |
00_min_03.txt | AC | 25 ms | 1056 KB |
00_min_04.txt | AC | 25 ms | 1056 KB |
00_min_05.txt | AC | 25 ms | 1060 KB |
00_min_06.txt | AC | 24 ms | 1064 KB |
00_min_07.txt | AC | 26 ms | 1052 KB |
00_min_08.txt | AC | 25 ms | 1184 KB |
00_sample_01.txt | AC | 26 ms | 1052 KB |
00_sample_02.txt | AC | 26 ms | 1056 KB |
00_sample_03.txt | AC | 26 ms | 1060 KB |
00_sample_04.txt | AC | 26 ms | 1180 KB |
00_sample_05.txt | AC | 29 ms | 1068 KB |
01_rnd_00.txt | AC | 29 ms | 1428 KB |
01_rnd_01.txt | AC | 44 ms | 5532 KB |
01_rnd_02.txt | AC | 40 ms | 3104 KB |
01_rnd_03.txt | AC | 40 ms | 4000 KB |
01_rnd_04.txt | AC | 43 ms | 5280 KB |
01_rnd_05.txt | AC | 28 ms | 1436 KB |
01_rnd_06.txt | AC | 39 ms | 2336 KB |
01_rnd_07.txt | AC | 41 ms | 3356 KB |
01_rnd_08.txt | AC | 28 ms | 1436 KB |
01_rnd_09.txt | AC | 27 ms | 1428 KB |
01_rnd_10.txt | AC | 35 ms | 1500 KB |
01_rnd_11.txt | AC | 27 ms | 1304 KB |
01_rnd_12.txt | AC | 43 ms | 4504 KB |
01_rnd_13.txt | AC | 43 ms | 4512 KB |
01_rnd_14.txt | AC | 27 ms | 1240 KB |
01_rnd_15.txt | AC | 38 ms | 2072 KB |
01_rnd_16.txt | AC | 28 ms | 1428 KB |
01_rnd_17.txt | AC | 36 ms | 1700 KB |
01_rnd_18.txt | AC | 28 ms | 1432 KB |
01_rnd_19.txt | AC | 42 ms | 6176 KB |
02_rndhard_00.txt | AC | 27 ms | 1436 KB |
02_rndhard_01.txt | AC | 27 ms | 1432 KB |
02_rndhard_02.txt | AC | 29 ms | 1428 KB |
02_rndhard_03.txt | AC | 30 ms | 1304 KB |
02_rndhard_04.txt | AC | 27 ms | 1432 KB |
02_rndhard_05.txt | AC | 28 ms | 1428 KB |
02_rndhard_06.txt | AC | 28 ms | 1428 KB |
02_rndhard_07.txt | AC | 29 ms | 1308 KB |
02_rndhard_08.txt | AC | 29 ms | 1308 KB |
02_rndhard_09.txt | AC | 30 ms | 1308 KB |
02_rndhard_10.txt | AC | 30 ms | 1320 KB |
02_rndhard_11.txt | AC | 29 ms | 1308 KB |
02_rndhard_12.txt | AC | 27 ms | 1436 KB |
02_rndhard_13.txt | AC | 28 ms | 1312 KB |
02_rndhard_14.txt | AC | 28 ms | 1312 KB |
02_rndhard_15.txt | AC | 28 ms | 1436 KB |
02_rndhard_16.txt | AC | 28 ms | 1436 KB |
02_rndhard_17.txt | AC | 26 ms | 1428 KB |
02_rndhard_18.txt | AC | 28 ms | 1432 KB |
02_rndhard_19.txt | AC | 28 ms | 1432 KB |
02_rndhard_20.txt | AC | 28 ms | 1240 KB |
02_rndhard_21.txt | AC | 28 ms | 1432 KB |
02_rndhard_22.txt | AC | 27 ms | 1312 KB |
02_rndhard_23.txt | AC | 27 ms | 1316 KB |
02_rndhard_24.txt | AC | 27 ms | 1324 KB |
02_rndhard_25.txt | AC | 27 ms | 1316 KB |
02_rndhard_26.txt | AC | 27 ms | 1312 KB |
02_rndhard_27.txt | AC | 28 ms | 1436 KB |
02_rndhard_28.txt | AC | 27 ms | 1320 KB |
02_rndhard_29.txt | AC | 28 ms | 1216 KB |
02_rndhard_30.txt | AC | 28 ms | 1316 KB |
02_rndhard_31.txt | AC | 28 ms | 1308 KB |
02_rndhard_32.txt | AC | 28 ms | 1320 KB |
02_rndhard_33.txt | AC | 30 ms | 1320 KB |
02_rndhard_34.txt | AC | 28 ms | 1312 KB |
02_rndhard_35.txt | AC | 28 ms | 1312 KB |
02_rndhard_36.txt | AC | 28 ms | 1436 KB |
02_rndhard_37.txt | AC | 27 ms | 1316 KB |
02_rndhard_38.txt | AC | 27 ms | 1316 KB |
02_rndhard_39.txt | AC | 28 ms | 1440 KB |
03_rndhardsmall_00.txt | AC | 26 ms | 1064 KB |
03_rndhardsmall_01.txt | AC | 26 ms | 1176 KB |
03_rndhardsmall_02.txt | AC | 27 ms | 1048 KB |
03_rndhardsmall_03.txt | AC | 27 ms | 1048 KB |
03_rndhardsmall_04.txt | AC | 27 ms | 1176 KB |
03_rndhardsmall_05.txt | AC | 27 ms | 1056 KB |
03_rndhardsmall_06.txt | AC | 28 ms | 1180 KB |
03_rndhardsmall_07.txt | AC | 28 ms | 1180 KB |
03_rndhardsmall_08.txt | AC | 28 ms | 1056 KB |
03_rndhardsmall_09.txt | AC | 28 ms | 1176 KB |