Submission #2337365
Source Code Expand
#include <bits/stdc++.h> using namespace std; const string vs = "^v<>"; int main() { int N, X[3000], Y[3000], Z[3000]; cin >> N; map< pair< int, int >, int > xx, yy; for(int i = 0; i < N; i++) { char zz; cin >> X[i] >> Y[i] >> zz; Z[i] = vs.find(zz); xx[{X[i], Y[i]}] = i; yy[{Y[i], X[i]}] = i; } xx[{-1145141919, -1145141919}] = -1; xx[{1145141919, 1145141919}] = -1; yy[{-1145141919, -1145141919}] = -1; yy[{1145141919, 1145141919}] = -1; int ret = 0; for(int i = 0; i < N; i++) { auto aa = xx, bb = yy; aa.erase({X[i], Y[i]}); bb.erase({Y[i], X[i]}); int now = i, sum = 1; bool latte = true; for(;; sum++) { latte = false; if(Z[now] >= 2) { auto pp = bb.lower_bound({Y[now], X[now]}); if(Z[now] % 2 == 0) --pp; if(pp->first.first != Y[now]) break; now = pp->second; } else { auto pp = aa.lower_bound({X[now], Y[now]}); if(Z[now] % 2 == 0) --pp; if(pp->first.first != X[now]) break; now = pp->second; } aa.erase({X[now], Y[now]}); bb.erase({Y[now], X[now]}); } ret = max(ret, sum); } cout << ret << endl; }
Submission Info
Submission Time | |
---|---|
Task | B - Vector Field |
User | ei13333 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1264 Byte |
Status | AC |
Exec Time | 2229 ms |
Memory | 1024 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 10_sval_Small_00, 10_sval_Small_01, 10_sval_Small_02, 10_sval_Small_03, 10_sval_Small_04, 12_sval_Large_00, 12_sval_Large_01, 12_sval_Large_02, 12_sval_Large_03, 12_sval_Large_04, 20_lval_Small_00, 20_lval_Small_01, 20_lval_Small_02, 20_lval_Small_03, 20_lval_Small_04, 20_lval_Small_05, 20_lval_Small_06, 20_lval_Small_07, 20_lval_Small_08, 20_lval_Small_09, 22_lval_Large_00, 22_lval_Large_01, 22_lval_Large_02, 22_lval_Large_03, 22_lval_Large_04, 22_lval_Large_05, 22_lval_Large_06, 22_lval_Large_07, 22_lval_Large_08, 22_lval_Large_09, 32_NearMax_00, 32_NearMax_01, 32_NearMax_02, 32_NearMax_03, 32_NearMax_04, 32_NearMax_05, 32_NearMax_06, 32_NearMax_07, 32_NearMax_08, 32_NearMax_09 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 1 ms | 256 KB |
00_sample_01 | AC | 1 ms | 256 KB |
10_sval_Small_00 | AC | 1 ms | 256 KB |
10_sval_Small_01 | AC | 1 ms | 256 KB |
10_sval_Small_02 | AC | 1 ms | 256 KB |
10_sval_Small_03 | AC | 1 ms | 256 KB |
10_sval_Small_04 | AC | 1 ms | 256 KB |
12_sval_Large_00 | AC | 263 ms | 640 KB |
12_sval_Large_01 | AC | 445 ms | 768 KB |
12_sval_Large_02 | AC | 240 ms | 640 KB |
12_sval_Large_03 | AC | 532 ms | 896 KB |
12_sval_Large_04 | AC | 466 ms | 768 KB |
20_lval_Small_00 | AC | 1 ms | 256 KB |
20_lval_Small_01 | AC | 1 ms | 256 KB |
20_lval_Small_02 | AC | 1 ms | 256 KB |
20_lval_Small_03 | AC | 1 ms | 256 KB |
20_lval_Small_04 | AC | 1 ms | 256 KB |
20_lval_Small_05 | AC | 1 ms | 256 KB |
20_lval_Small_06 | AC | 1 ms | 256 KB |
20_lval_Small_07 | AC | 1 ms | 256 KB |
20_lval_Small_08 | AC | 1 ms | 256 KB |
20_lval_Small_09 | AC | 1 ms | 256 KB |
22_lval_Large_00 | AC | 758 ms | 896 KB |
22_lval_Large_01 | AC | 258 ms | 640 KB |
22_lval_Large_02 | AC | 236 ms | 640 KB |
22_lval_Large_03 | AC | 367 ms | 768 KB |
22_lval_Large_04 | AC | 276 ms | 640 KB |
22_lval_Large_05 | AC | 468 ms | 768 KB |
22_lval_Large_06 | AC | 810 ms | 1024 KB |
22_lval_Large_07 | AC | 579 ms | 896 KB |
22_lval_Large_08 | AC | 277 ms | 640 KB |
22_lval_Large_09 | AC | 755 ms | 896 KB |
32_NearMax_00 | AC | 1766 ms | 1024 KB |
32_NearMax_01 | AC | 1441 ms | 1024 KB |
32_NearMax_02 | AC | 1722 ms | 1024 KB |
32_NearMax_03 | AC | 2209 ms | 1024 KB |
32_NearMax_04 | AC | 2221 ms | 1024 KB |
32_NearMax_05 | AC | 1412 ms | 1024 KB |
32_NearMax_06 | AC | 2221 ms | 1024 KB |
32_NearMax_07 | AC | 2229 ms | 1024 KB |
32_NearMax_08 | AC | 1818 ms | 1024 KB |
32_NearMax_09 | AC | 1892 ms | 1024 KB |