Submission #2414834


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
 
int main()
{
    int N;
    cin >> N;
    char c;
    vector<int> x(N), y(N), d(N);
    map<int, set<P>> mp1, mp2;
    for (int i = 0; i < N; i++) {
        cin >> x[i] >> y[i] >> c;
        mp1[x[i]].insert(P(y[i], i));
        mp2[y[i]].insert(P(x[i], i));
 
        d[i] = c == '>' ? 0 : c == '^' ? 1 : c == '<' ? 2 : 3;
    }
    int res = 0;
    for (int i = 0; i < N; i++) {
        auto t1 = mp1;
        auto t2 = mp2;
        int p = i;
        int cnt = 0;
        while (1) {
            t1[x[p]].erase(P(y[p], p));
            t2[y[p]].erase(P(x[p], p));
            cnt++;
            if (d[p] == 3) {
                auto ite = t1[x[p]].lower_bound(P(y[p], 0));
                if (t1[x[p]].empty() || ite == t1[x[p]].end()) {
                    break;
                }
                p = ite->second;
            }
            else if (d[p] == 0) {
                auto ite = t2[y[p]].lower_bound(P(x[p], 0));
                if (t2[y[p]].empty() || ite == t2[y[p]].end()) {
                    break;
                }
                p = ite->second;
            }
            else if (d[p] == 1) {
                auto ite = t1[x[p]].upper_bound(P(y[p], 1e9));
                if (t1[x[p]].empty() || ite-- == t1[x[p]].begin()) {
                    break;
                }
                p = ite->second;
            }
            else {
                auto ite = t2[y[p]].upper_bound(P(x[p], 1e9));
                if (t2[y[p]].empty() || ite-- == t2[y[p]].begin()) {
                    break;
                }
                p = ite->second;
            }
        }
        res = max(res, cnt);
    }
    cout << res << endl;
    return 0;
}

Submission Info

Submission Time
Task B - Vector Field
User kazuma
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1806 Byte
Status AC
Exec Time 2950 ms
Memory 1408 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 335 ms 768 KB
12_sval_Large_01 AC 537 ms 768 KB
12_sval_Large_02 AC 309 ms 768 KB
12_sval_Large_03 AC 634 ms 896 KB
12_sval_Large_04 AC 567 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 862 ms 896 KB
22_lval_Large_01 AC 330 ms 768 KB
22_lval_Large_02 AC 305 ms 768 KB
22_lval_Large_03 AC 453 ms 768 KB
22_lval_Large_04 AC 346 ms 768 KB
22_lval_Large_05 AC 567 ms 768 KB
22_lval_Large_06 AC 913 ms 896 KB
22_lval_Large_07 AC 683 ms 896 KB
22_lval_Large_08 AC 357 ms 768 KB
22_lval_Large_09 AC 870 ms 896 KB
32_NearMax_00 AC 2333 ms 1408 KB
32_NearMax_01 AC 1944 ms 1408 KB
32_NearMax_02 AC 2302 ms 1408 KB
32_NearMax_03 AC 2950 ms 1408 KB
32_NearMax_04 AC 2929 ms 1408 KB
32_NearMax_05 AC 1914 ms 1408 KB
32_NearMax_06 AC 2918 ms 1408 KB
32_NearMax_07 AC 2916 ms 1408 KB
32_NearMax_08 AC 2278 ms 1408 KB
32_NearMax_09 AC 2500 ms 1408 KB