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
AC × 42
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