Submission #8550636
Source Code Expand
// https://atcoder.jp/contests/atc001/submissions/3123169 #define rep(i,a,n) for(int i=(a), i##_len=(n); i<i##_len; ++i) // ref: https://atcoder.jp/contests/atc001/submissions/4173955 #include <iostream> #include <vector> #include <string> #include <stack> #include <queue> #include <set> #include <map> #include <unordered_map> #include <algorithm> #include <functional> #include <numeric> #include <iomanip> #include <cstring> #include <cstdio> #include <cmath> #include <cstdlib> #include <cassert> #include <climits> #define bogo_sort std::sort #define bozo_sort std::stable_sort #define alles(obj) obj.begin(), obj.end() #define elif else if #define unless(flg) if(!(flg)) #define elless(flg) else if(!(flg)) #define echo std::cout << #define read std::cin >> #define endl std::endl #define fin << '\n' #define bash push_back #define makePair std::make_pair #define _ << ' ' << // type-define #define Stack std::stack #define Queue std::queue #define Set std::set #define PQueue std::priority_queue #define Vector std::vector #define Pair std::pair #define Map std::map #define UMap std::unordered_map #define Greater std::greater using String = std::string; using llong = long long; using boolean = bool; using Pii = Pair<int, int>; using Vi = Vector<int>; using Vii = Vector<Pii>; // utils constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}; constexpr int dy[] = {0, 1, 0, -1, 1, -1, 1, -1}; constexpr int INF = 0x3f3f3f3f; constexpr llong LINF = 0x3f3f3f3f3f3f3f3fLL; namespace { llong power ( llong x, llong n, llong mod ) { llong ans = 1; while ( n > 0 ) { if ( n & 1 ) ans = ( ans * x ) % mod; x = ( x * x ) % mod; n >>= 1; } return ans; } llong power ( llong x, llong n ) { return power( x, n, 1000000007 ); } llong gcd ( llong x, llong y ) { return x % y ? gcd( y, x % y ) : y; } llong lcm ( llong x, llong y ) { return ( x / gcd(x, y) * y ); } llong abs ( llong n ) { return ( n < 0 ) ? -n : n; } template<class A, class B>inline bool chmax ( A &a, const B &b ) { return b > a ? a = b, true : false; } template<class A, class B>inline bool chmin ( A &a, const B &b ) { return b < a ? a = b, true : false; } boolean isMovable ( int x, int y, int w, int h ) { return ( x >= 0 && y >= 0 && x < w && y < h ); } } namespace Rlyeh { char mas[512][512]; signed call_of_Cthulhu( signed datum ) { int h, w; int sy, sx; read h >> w; for ( int i = 0; i < h; i++ ) { read mas[i]; for ( int j = 0; j < w; j++ ) { if ( mas[i][j] == 's' ) { sy = i; sx = j; } } } Queue<Pii> q; q.push(Pii(sy, sx)); while ( !q.empty() ) { Pii now = q.front(); q.pop(); int y = now.first; int x = now.second; rep(i, 0, 4){ // for ( int i = 0; i < 4; i++ ) { int ny = y + dy[i]; int nx = x + dx[i]; if ( isMovable ( ny, nx, h, w ) && mas[ny][nx] != '#' ) { if ( mas[ny][nx] == 'g' ) { echo "Yes" fin; return 0; } mas[ny][nx] = '#'; q.push(Pii(ny, nx)); } } } echo "No" fin; return 0; } } signed main(){std::cin.tie(0); std::ios::sync_with_stdio(false); echo std::fixed << std::setprecision(8); int main_result = Rlyeh::call_of_Cthulhu(114514); return main_result;}
Submission Info
Submission Time | |
---|---|
Task | A - 深さ優先探索 |
User | ADMIS_Walker |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 3952 Byte |
Status | AC |
Exec Time | 5 ms |
Memory | 512 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 | 2 ms | 512 KB |
01_rnd_02.txt | AC | 3 ms | 512 KB |
01_rnd_03.txt | AC | 4 ms | 512 KB |
01_rnd_04.txt | AC | 3 ms | 512 KB |
01_rnd_05.txt | AC | 2 ms | 512 KB |
01_rnd_06.txt | AC | 4 ms | 512 KB |
01_rnd_07.txt | AC | 4 ms | 512 KB |
01_rnd_08.txt | AC | 2 ms | 512 KB |
01_rnd_09.txt | AC | 2 ms | 512 KB |
01_rnd_10.txt | AC | 4 ms | 512 KB |
01_rnd_11.txt | AC | 2 ms | 512 KB |
01_rnd_12.txt | AC | 5 ms | 512 KB |
01_rnd_13.txt | AC | 2 ms | 512 KB |
01_rnd_14.txt | AC | 2 ms | 512 KB |
01_rnd_15.txt | AC | 4 ms | 512 KB |
01_rnd_16.txt | AC | 2 ms | 512 KB |
01_rnd_17.txt | AC | 5 ms | 512 KB |
01_rnd_18.txt | AC | 2 ms | 512 KB |
01_rnd_19.txt | AC | 3 ms | 512 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 |