169362025-05-15 22:57:12Valaki2Évzárócpp17Wrong answer 20/100177ms24748 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second

const int MAXN = 300'001;

bool vis[MAXN];
int vx[MAXN], vy[MAXN];
vector<pair<int, int>> g[MAXN];
int ptr[MAXN];
bool del[MAXN];
int ans[MAXN];
int deg[MAXN];

void dfs(int cur, int col = 0) {
    while(ptr[cur] < g[cur].size()) {
        int nei = g[cur][ptr[cur]].fi;
        int id = g[cur][ptr[cur]].se;
        if(del[id]) {
            ptr[cur]++;
            continue;
        }
        del[id] = true;
        ans[id] = col;
        deg[cur]++;
        deg[nei]++;
        ptr[cur]++;
        dfs(nei, 1 - col);
    }
}

void solve() {
    int n; cin >> n;
    vector<int> comp1, comp2;
    for (int i = 1; i <= n; i++) {
        cin >> vx[i] >> vy[i];
        comp1.emplace_back(vx[i]);
        comp2.emplace_back(vy[i]);
    }
    sort(comp1.begin(), comp1.end());
    sort(comp2.begin(), comp2.end());
    comp1.erase(unique(comp1.begin(), comp1.end()), comp1.end());
    comp2.erase(unique(comp2.begin(), comp2.end()), comp2.end());
    for (int i = 1; i <= n; i++) {
        vx[i] = lower_bound(comp1.begin(), comp1.end(), vx[i])-comp1.begin();
        vy[i] = lower_bound(comp2.begin(), comp2.end(), vy[i])-comp2.begin();
        g[vx[i]].emplace_back(vy[i]+n, i);
        g[vy[i]+n].emplace_back(vx[i], i);
    }

    for(int i = 0; i < 2 * n; i++) {
        if((g[i].size() - deg[i]) % 2 == 1) {
            dfs(i);
        }
    }

    for(int i = 0; i < 2 * n; i++) {
        dfs(i);
    }

    for (int i = 1; i <= n; i++) cout << (ans[i]?'F':'L');
    cout << "\n";
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    // int T; cin >> T; while(T--)
    solve();
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted6ms7476 KiB
2Wrong answer107ms24224 KiB
subtask20/5
3Wrong answer98ms17820 KiB
4Wrong answer92ms17824 KiB
subtask30/7
5Wrong answer98ms17820 KiB
6Wrong answer92ms17824 KiB
7Wrong answer114ms18076 KiB
8Wrong answer111ms18588 KiB
9Wrong answer126ms18784 KiB
10Accepted173ms20896 KiB
subtask420/20
11Accepted177ms23456 KiB
12Accepted172ms22436 KiB
13Accepted151ms22176 KiB
14Accepted150ms22176 KiB
15Accepted138ms22212 KiB
16Accepted158ms20900 KiB
subtask50/13
17Accepted8ms7476 KiB
18Wrong answer8ms7712 KiB
19Wrong answer7ms7476 KiB
20Wrong answer7ms7476 KiB
21Wrong answer8ms7668 KiB
22Wrong answer7ms7512 KiB
23Accepted7ms7476 KiB
24Accepted8ms7476 KiB
25Accepted7ms7504 KiB
26Accepted8ms7480 KiB
27Accepted7ms7268 KiB
28Accepted8ms7476 KiB
29Accepted6ms7396 KiB
30Accepted7ms7480 KiB
31Wrong answer8ms7476 KiB
32Wrong answer8ms7364 KiB
33Wrong answer6ms7480 KiB
subtask60/20
34Accepted8ms7476 KiB
35Wrong answer8ms7712 KiB
36Wrong answer7ms7476 KiB
37Wrong answer7ms7476 KiB
38Wrong answer8ms7668 KiB
39Wrong answer7ms7512 KiB
40Accepted7ms7476 KiB
41Accepted8ms7476 KiB
42Accepted7ms7504 KiB
43Accepted8ms7480 KiB
44Accepted7ms7268 KiB
45Accepted8ms7476 KiB
46Accepted6ms7396 KiB
47Accepted7ms7480 KiB
48Wrong answer8ms7476 KiB
49Wrong answer8ms7364 KiB
50Wrong answer6ms7480 KiB
51Accepted7ms7644 KiB
52Accepted7ms7476 KiB
53Accepted8ms7476 KiB
54Accepted8ms7476 KiB
55Wrong answer8ms7696 KiB
56Wrong answer8ms7528 KiB
57Accepted7ms7488 KiB
58Accepted8ms7596 KiB
59Wrong answer8ms7480 KiB
60Wrong answer7ms7476 KiB
61Wrong answer8ms7476 KiB
62Wrong answer8ms7476 KiB
63Wrong answer7ms7828 KiB
64Wrong answer8ms7476 KiB
65Wrong answer7ms7476 KiB
subtask70/35
66Accepted8ms7476 KiB
67Wrong answer103ms24304 KiB
68Wrong answer98ms17820 KiB
69Wrong answer92ms17824 KiB
70Wrong answer114ms18076 KiB
71Wrong answer111ms18588 KiB
72Wrong answer126ms18784 KiB
73Accepted173ms20896 KiB
74Accepted177ms23456 KiB
75Accepted172ms22436 KiB
76Accepted151ms22176 KiB
77Accepted150ms22176 KiB
78Accepted138ms22212 KiB
79Accepted158ms20900 KiB
80Wrong answer8ms7712 KiB
81Wrong answer7ms7476 KiB
82Wrong answer7ms7476 KiB
83Wrong answer8ms7668 KiB
84Wrong answer7ms7512 KiB
85Accepted7ms7476 KiB
86Accepted8ms7476 KiB
87Accepted7ms7504 KiB
88Accepted8ms7480 KiB
89Accepted7ms7268 KiB
90Accepted8ms7476 KiB
91Accepted6ms7396 KiB
92Accepted7ms7480 KiB
93Wrong answer8ms7476 KiB
94Wrong answer8ms7364 KiB
95Wrong answer6ms7480 KiB
96Accepted7ms7644 KiB
97Accepted7ms7476 KiB
98Accepted8ms7476 KiB
99Accepted8ms7476 KiB
100Wrong answer8ms7696 KiB
101Wrong answer8ms7528 KiB
102Accepted7ms7488 KiB
103Accepted8ms7596 KiB
104Wrong answer8ms7480 KiB
105Wrong answer7ms7476 KiB
106Wrong answer8ms7476 KiB
107Wrong answer8ms7476 KiB
108Wrong answer7ms7828 KiB
109Wrong answer8ms7476 KiB
110Wrong answer7ms7476 KiB
111Accepted93ms23352 KiB
112Accepted83ms24336 KiB
113Accepted90ms24352 KiB
114Accepted93ms24232 KiB
115Wrong answer93ms24420 KiB
116Wrong answer90ms24504 KiB
117Wrong answer93ms23708 KiB
118Wrong answer94ms24480 KiB
119Wrong answer93ms24748 KiB
120Wrong answer97ms23656 KiB
121Wrong answer94ms24476 KiB