Submission #2559992
Source Code Expand
#include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int N, X[3009], Y[3009]; char c[3009], p[3009][3009]; vector<int>x, y; set<int>DX[3009], DY[3009]; void dels(int px, int py) { DX[px].erase(py); DY[py].erase(px); } int solve(int pos) { for (int i = 0; i < N; i++) { DX[i].clear(); DY[i].clear(); } for (int i = 1; i <= N; i++) { DX[X[i]].insert(Y[i]); DY[Y[i]].insert(X[i]); } int cnt = 0, vx = X[pos], vy = Y[pos]; char dir = c[pos]; while (true) { dels(vx, vy); dir = p[vx][vy]; cnt++; if (dir == '<' || dir == '>') { auto itr = DX[vx].lower_bound(vy); if (dir == '<') { if (itr == DX[vx].begin()) break; itr--; } if (itr == DX[vx].end()) break; vy = *itr; } else { auto itr = DY[vy].lower_bound(vx); if (dir == '^') { if (itr == DY[vy].begin()) break; itr--; } if (itr == DY[vy].end()) break; vx = *itr; } } return cnt; } int main() { cin >> N; for (int i = 1; i <= N; i++) { cin >> X[i] >> Y[i] >> c[i]; swap(X[i], Y[i]); x.push_back(X[i]); y.push_back(Y[i]); } sort(x.begin(), x.end()); x.erase(unique(x.begin(), x.end()), x.end()); sort(y.begin(), y.end()); y.erase(unique(y.begin(), y.end()), y.end()); for (int i = 1; i <= N; i++) { X[i] = lower_bound(x.begin(), x.end(), X[i]) - x.begin(); Y[i] = lower_bound(y.begin(), y.end(), Y[i]) - y.begin(); p[X[i]][Y[i]] = c[i]; } int maxn = 0; for (int i = 1; i <= N; i++) { maxn = max(maxn, solve(i)); } cout << maxn << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Vector Field |
User | E869120 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1597 Byte |
Status | AC |
Exec Time | 2230 ms |
Memory | 6656 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 | 512 KB |
00_sample_01 | AC | 1 ms | 512 KB |
10_sval_Small_00 | AC | 1 ms | 512 KB |
10_sval_Small_01 | AC | 1 ms | 512 KB |
10_sval_Small_02 | AC | 1 ms | 512 KB |
10_sval_Small_03 | AC | 1 ms | 512 KB |
10_sval_Small_04 | AC | 1 ms | 512 KB |
12_sval_Large_00 | AC | 373 ms | 1920 KB |
12_sval_Large_01 | AC | 661 ms | 1920 KB |
12_sval_Large_02 | AC | 343 ms | 1920 KB |
12_sval_Large_03 | AC | 808 ms | 1920 KB |
12_sval_Large_04 | AC | 698 ms | 1920 KB |
20_lval_Small_00 | AC | 1 ms | 512 KB |
20_lval_Small_01 | AC | 1 ms | 512 KB |
20_lval_Small_02 | AC | 1 ms | 512 KB |
20_lval_Small_03 | AC | 1 ms | 512 KB |
20_lval_Small_04 | AC | 1 ms | 512 KB |
20_lval_Small_05 | AC | 1 ms | 512 KB |
20_lval_Small_06 | AC | 1 ms | 512 KB |
20_lval_Small_07 | AC | 1 ms | 512 KB |
20_lval_Small_08 | AC | 1 ms | 512 KB |
20_lval_Small_09 | AC | 1 ms | 512 KB |
22_lval_Large_00 | AC | 1179 ms | 2048 KB |
22_lval_Large_01 | AC | 370 ms | 1920 KB |
22_lval_Large_02 | AC | 340 ms | 1920 KB |
22_lval_Large_03 | AC | 535 ms | 1920 KB |
22_lval_Large_04 | AC | 389 ms | 1920 KB |
22_lval_Large_05 | AC | 704 ms | 1920 KB |
22_lval_Large_06 | AC | 1313 ms | 2048 KB |
22_lval_Large_07 | AC | 882 ms | 1920 KB |
22_lval_Large_08 | AC | 418 ms | 1920 KB |
22_lval_Large_09 | AC | 1178 ms | 2048 KB |
32_NearMax_00 | AC | 1941 ms | 6656 KB |
32_NearMax_01 | AC | 1792 ms | 6656 KB |
32_NearMax_02 | AC | 1906 ms | 6656 KB |
32_NearMax_03 | AC | 2114 ms | 6656 KB |
32_NearMax_04 | AC | 2118 ms | 6656 KB |
32_NearMax_05 | AC | 1892 ms | 6656 KB |
32_NearMax_06 | AC | 2230 ms | 6656 KB |
32_NearMax_07 | AC | 2110 ms | 6656 KB |
32_NearMax_08 | AC | 1932 ms | 6656 KB |
32_NearMax_09 | AC | 1985 ms | 6656 KB |