Submission #528350
Source Code Expand
/*{{{*/ #include <cassert> #include <cctype> #include <climits> #include <cmath> #include <cstdint> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <functional> #include <bitset> #include <deque> #include <list> #include <map> #include <queue> #include <set> #include <tuple> #include <unordered_map> #include <unordered_set> #include <vector> #include <iostream> #include <string> #include <sstream> using namespace std; typedef int8_t sbyte; typedef uint8_t byte; typedef uint16_t ushort; typedef uint32_t uint; typedef int64_t i64; typedef uint64_t u64; template<class T> static inline T ABS(T x) {return x < 0 ? -x : x;} template<class T> static inline void MAZ(T &a, const T &b) {if(a < b) a = b;} template<class T> static inline void MIZ(T &a, const T &b) {if(b < a) a = b;} /*}}}*/ const auto NMAX = 1000; int N; char M[NMAX][NMAX + 1]; bool W[NMAX][NMAX]; int C[NMAX][NMAX]; vector<pair<int, int>> S; static inline void update(int i, int j) { W[i][j] = true; S.emplace_back(i, j); } int main() { static const int dir[4][2] = {{-1, 0}, {0, -1}, {0, +1}, {+1, 0}}; scanf("%d", &N); for(auto i = 0; i < N; i++) scanf("%s", M[i]); update(N - 1, N - 1); while(!S.empty()) { auto i = S.back().first; auto j = S.back().second; S.pop_back(); for(auto k = 0; k < 4; k++) { auto ii = i + dir[k][0]; if(ii < 0 || ii >= N) continue; auto jj = j + dir[k][1]; if(jj < 0 || jj >= N) continue; if(W[ii][jj]) continue; if(M[i][j] != '.' || ++C[ii][jj] > 1) update(ii, jj); } } puts(W[0][0] ? "YES" : "NO"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - Obstruction |
User | arosusti |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1651 Byte |
Status | AC |
Exec Time | 102 ms |
Memory | 8840 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:52:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &N); ^ ./Main.cpp:53:47: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for(auto i = 0; i < N; i++) scanf("%s", M[i]); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | manual_j1.txt, manual_j10.txt, manual_j11.txt, manual_j12.txt, manual_j13.txt, manual_j14.txt, manual_j15.txt, manual_j16.txt, manual_j17.txt, manual_j18.txt, manual_j19.txt, manual_j2.txt, manual_j20.txt, manual_j21.txt, manual_j22.txt, manual_j23.txt, manual_j24.txt, manual_j25.txt, manual_j26.txt, manual_j27.txt, manual_j28.txt, manual_j29.txt, manual_j3.txt, manual_j30.txt, manual_j31.txt, manual_j32.txt, manual_j33.txt, manual_j34.txt, manual_j4.txt, manual_j5.txt, manual_j6.txt, manual_j7.txt, manual_j8.txt, manual_j9.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, scale_01.txt, scale_02.txt, scale_03.txt, scale_04.txt, scale_05.txt, scale_small_01.txt, scale_small_02.txt, scale_small_03.txt, scale_small_04.txt, scale_small_05.txt, scale_small_06.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
manual_j1.txt | AC | 33 ms | 1340 KB |
manual_j10.txt | AC | 32 ms | 1224 KB |
manual_j11.txt | AC | 33 ms | 1224 KB |
manual_j12.txt | AC | 33 ms | 1156 KB |
manual_j13.txt | AC | 31 ms | 1148 KB |
manual_j14.txt | AC | 33 ms | 1224 KB |
manual_j15.txt | AC | 32 ms | 1272 KB |
manual_j16.txt | AC | 33 ms | 1532 KB |
manual_j17.txt | AC | 33 ms | 1528 KB |
manual_j18.txt | AC | 32 ms | 1400 KB |
manual_j19.txt | AC | 31 ms | 1276 KB |
manual_j2.txt | AC | 32 ms | 1260 KB |
manual_j20.txt | AC | 31 ms | 1200 KB |
manual_j21.txt | AC | 34 ms | 1300 KB |
manual_j22.txt | AC | 33 ms | 1296 KB |
manual_j23.txt | AC | 33 ms | 1148 KB |
manual_j24.txt | AC | 33 ms | 1180 KB |
manual_j25.txt | AC | 32 ms | 1296 KB |
manual_j26.txt | AC | 33 ms | 1172 KB |
manual_j27.txt | AC | 34 ms | 1148 KB |
manual_j28.txt | AC | 33 ms | 1276 KB |
manual_j29.txt | AC | 31 ms | 1184 KB |
manual_j3.txt | AC | 31 ms | 1424 KB |
manual_j30.txt | AC | 32 ms | 1144 KB |
manual_j31.txt | AC | 30 ms | 1176 KB |
manual_j32.txt | AC | 33 ms | 1304 KB |
manual_j33.txt | AC | 32 ms | 1280 KB |
manual_j34.txt | AC | 34 ms | 1280 KB |
manual_j4.txt | AC | 34 ms | 1404 KB |
manual_j5.txt | AC | 34 ms | 1304 KB |
manual_j6.txt | AC | 33 ms | 1420 KB |
manual_j7.txt | AC | 33 ms | 1288 KB |
manual_j8.txt | AC | 33 ms | 1284 KB |
manual_j9.txt | AC | 32 ms | 1176 KB |
random_01.txt | AC | 34 ms | 1816 KB |
random_02.txt | AC | 33 ms | 1532 KB |
random_03.txt | AC | 33 ms | 1560 KB |
random_04.txt | AC | 33 ms | 1660 KB |
random_05.txt | AC | 34 ms | 1788 KB |
random_06.txt | AC | 35 ms | 1792 KB |
random_07.txt | AC | 36 ms | 2032 KB |
random_08.txt | AC | 37 ms | 1936 KB |
random_09.txt | AC | 38 ms | 2048 KB |
random_10.txt | AC | 102 ms | 7812 KB |
random_11.txt | AC | 35 ms | 1904 KB |
random_12.txt | AC | 40 ms | 2436 KB |
random_13.txt | AC | 42 ms | 3112 KB |
random_14.txt | AC | 47 ms | 3732 KB |
random_15.txt | AC | 54 ms | 4496 KB |
random_16.txt | AC | 62 ms | 5244 KB |
random_17.txt | AC | 71 ms | 5884 KB |
random_18.txt | AC | 78 ms | 6704 KB |
random_19.txt | AC | 89 ms | 7412 KB |
random_20.txt | AC | 102 ms | 8444 KB |
sample_01.txt | AC | 34 ms | 1148 KB |
sample_02.txt | AC | 32 ms | 1268 KB |
sample_03.txt | AC | 33 ms | 1280 KB |
scale_01.txt | AC | 85 ms | 7548 KB |
scale_02.txt | AC | 90 ms | 8840 KB |
scale_03.txt | AC | 60 ms | 6796 KB |
scale_04.txt | AC | 78 ms | 7080 KB |
scale_05.txt | AC | 58 ms | 5520 KB |
scale_small_01.txt | AC | 43 ms | 2816 KB |
scale_small_02.txt | AC | 42 ms | 2932 KB |
scale_small_03.txt | AC | 42 ms | 3068 KB |
scale_small_04.txt | AC | 38 ms | 2432 KB |
scale_small_05.txt | AC | 42 ms | 3088 KB |
scale_small_06.txt | AC | 41 ms | 2296 KB |