Submission #8548573
Source Code Expand
// 遅い理由が分からないため,速いコードを実行してみる. // ref: https://atcoder.jp/contests/atc001/submissions/3123169 #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef vector<double> vd; typedef vector<long long> vll; typedef vector<string> vs; typedef vector<bool> vb; typedef pair<int, int> pii; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; #define all(c) (c).begin(), (c).end() #define rall(c) (c).rbegin(), (c).rend() #define vv(type, c, m, n, i) vector<vector<type>> c(m, vector<type>(n, i)) #define mat(type, c, m, n) vector<vector<type>> c(m, vector<type>(n));for(auto& r:c)for(auto& i:r)cin>>i; #define rep(i,a,n) for(int i=(a), i##_len=(n); i<i##_len; ++i) #define rrep(i,a,n) for(int i=(a), i##_len=(n); i>i##_len; --i) #define each(x,y) for(auto &(x):(y)) #define var(type, ...)type __VA_ARGS__;Scan(__VA_ARGS__); template<typename T> void Scan(T& t) { cin >> t; } template<typename First, typename...Rest>void Scan(First& first, Rest&...rest) { cin >> first; Scan(rest...); } #define vec(type, c, n) vector<type> c(n);for(auto& i:c) cin>>i; #define len(x) ((int)(x).size()) #define mp make_pair #define eb emplace_back #define em emplace #define pb pop_back #define fi first #define se second #define get(a, i) get<i>(a) #define bit_count __builtin_popcount #define mt make_tuple inline string zero(int a,string s,char c='0'){return string(a-len(s),c)+s;} inline string zero(int a,int t,char c='0'){return zero(a, to_string(t), c);} inline string zero(int a,ll t,char c='0'){return zero(a, to_string(t), c);} #define mini min_element #define maxi max_element #define sum accumulate #define chmax(a,b) if(a<b)a=b #define chmin(a,b) if(a>b)a=b template <class T> inline void print(T t){cout << t << endl;} template <class H, class... T> inline void print(H h, T... t){cout << h << " ";print(t...);} constexpr int dx[] = {1, 0, -1, 0}; constexpr int dy[] = {0, 1, 0, -1}; string bfs() { var(int, h, w); vec(string, c, h); vector<pii> dp; rep(i, 0, h) { auto pos = c[i].find('s'); if (pos != string::npos) { dp.eb(mp(i, pos)); c[i][pos] = '#'; } } int x, y, nx, ny; while(!dp.empty()) { tie(y, x) = dp.back(); dp.pop_back(); rep(i, 0, 4) { ny = y + dy[i]; nx = x + dx[i]; if (0 <= ny && ny < h && 0 <= nx && nx < w && c[ny][nx] != '#') { if (c[ny][nx] == 'g') { return "Yes"; } c[ny][nx] = '#'; dp.eb(mp(ny, nx)); } } } return "No"; } int main() { print(bfs()); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - 深さ優先探索 |
User | ADMIS_Walker |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2646 Byte |
Status | AC |
Exec Time | 5 ms |
Memory | 1656 KB |
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 | 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 | AC | 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 | AC | 1 ms | 256 KB |
00_sample_03.txt | AC | 1 ms | 256 KB |
00_sample_04.txt | AC | 1 ms | 256 KB |
00_sample_05.txt | AC | 1 ms | 256 KB |
01_rnd_00.txt | AC | 2 ms | 512 KB |
01_rnd_01.txt | AC | 5 ms | 1656 KB |
01_rnd_02.txt | AC | 2 ms | 640 KB |
01_rnd_03.txt | AC | 5 ms | 1656 KB |
01_rnd_04.txt | AC | 4 ms | 1148 KB |
01_rnd_05.txt | AC | 2 ms | 512 KB |
01_rnd_06.txt | AC | 3 ms | 768 KB |
01_rnd_07.txt | AC | 4 ms | 896 KB |
01_rnd_08.txt | AC | 2 ms | 512 KB |
01_rnd_09.txt | AC | 2 ms | 512 KB |
01_rnd_10.txt | AC | 5 ms | 640 KB |
01_rnd_11.txt | AC | 2 ms | 512 KB |
01_rnd_12.txt | AC | 5 ms | 1148 KB |
01_rnd_13.txt | AC | 4 ms | 1148 KB |
01_rnd_14.txt | AC | 2 ms | 512 KB |
01_rnd_15.txt | AC | 2 ms | 512 KB |
01_rnd_16.txt | AC | 2 ms | 512 KB |
01_rnd_17.txt | AC | 5 ms | 640 KB |
01_rnd_18.txt | AC | 2 ms | 512 KB |
01_rnd_19.txt | AC | 2 ms | 640 KB |
02_rndhard_00.txt | AC | 2 ms | 512 KB |
02_rndhard_01.txt | AC | 2 ms | 512 KB |
02_rndhard_02.txt | AC | 2 ms | 512 KB |
02_rndhard_03.txt | AC | 2 ms | 512 KB |
02_rndhard_04.txt | AC | 2 ms | 512 KB |
02_rndhard_05.txt | AC | 2 ms | 512 KB |
02_rndhard_06.txt | AC | 2 ms | 512 KB |
02_rndhard_07.txt | AC | 2 ms | 512 KB |
02_rndhard_08.txt | AC | 2 ms | 512 KB |
02_rndhard_09.txt | AC | 2 ms | 512 KB |
02_rndhard_10.txt | AC | 2 ms | 512 KB |
02_rndhard_11.txt | AC | 2 ms | 512 KB |
02_rndhard_12.txt | AC | 2 ms | 512 KB |
02_rndhard_13.txt | AC | 2 ms | 512 KB |
02_rndhard_14.txt | AC | 2 ms | 512 KB |
02_rndhard_15.txt | AC | 2 ms | 512 KB |
02_rndhard_16.txt | AC | 2 ms | 512 KB |
02_rndhard_17.txt | AC | 2 ms | 512 KB |
02_rndhard_18.txt | AC | 2 ms | 512 KB |
02_rndhard_19.txt | AC | 2 ms | 512 KB |
02_rndhard_20.txt | AC | 2 ms | 512 KB |
02_rndhard_21.txt | AC | 2 ms | 512 KB |
02_rndhard_22.txt | AC | 2 ms | 512 KB |
02_rndhard_23.txt | AC | 2 ms | 512 KB |
02_rndhard_24.txt | AC | 2 ms | 512 KB |
02_rndhard_25.txt | AC | 2 ms | 512 KB |
02_rndhard_26.txt | AC | 2 ms | 512 KB |
02_rndhard_27.txt | AC | 2 ms | 512 KB |
02_rndhard_28.txt | AC | 2 ms | 512 KB |
02_rndhard_29.txt | AC | 2 ms | 512 KB |
02_rndhard_30.txt | AC | 2 ms | 512 KB |
02_rndhard_31.txt | AC | 2 ms | 512 KB |
02_rndhard_32.txt | AC | 2 ms | 512 KB |
02_rndhard_33.txt | AC | 2 ms | 512 KB |
02_rndhard_34.txt | AC | 2 ms | 512 KB |
02_rndhard_35.txt | AC | 2 ms | 512 KB |
02_rndhard_36.txt | AC | 2 ms | 512 KB |
02_rndhard_37.txt | AC | 2 ms | 512 KB |
02_rndhard_38.txt | AC | 2 ms | 512 KB |
02_rndhard_39.txt | AC | 2 ms | 512 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 |