165212025-05-06 03:04:44BucsMateÉvzárócpp17Runtime error 0/100172ms65536 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <stack>

using namespace std;

void DFS(int curr, vector<stack<pair<int, int>>> &sorok, vector<bool> &visited, vector<int> &color, int nextColor)
{
    while(!sorok[curr].empty()){
        pair<int, int> next = sorok[curr].top();
        sorok[curr].pop();
        if(visited[next.second]){
            continue;
        }
        visited[next.second] = true;
        color[next.second] = nextColor;

        DFS(next.first, sorok, visited, color, -nextColor);
        return;
    }
}

int main()
{
    int N;
    cin >> N;

    vector<pair<int, int>> pontok(N);
    vector<int> koordx(N), koordy(N);
    for(int i = 0; i < N; i++){
        cin >> pontok[i].first >> pontok[i].second;
        koordx[i] = pontok[i].first;
        koordy[i] = pontok[i].second;
    }
    sort(koordx.begin(), koordx.end());
    sort(koordy.begin(), koordy.end());

    koordx.erase(unique(koordx.begin(), koordx.end()), koordx.end());
    koordy.erase(unique(koordy.begin(), koordy.end()), koordy.end());
    vector<stack<pair<int, int>>> sorok(2*N+1);

    for(int i = 0; i < N; i++){
        pontok[i].first = lower_bound(koordx.begin(), koordx.end(), pontok[i].first) - koordx.begin();
        pontok[i].second = lower_bound(koordy.begin(), koordy.end(), pontok[i].second) - koordy.begin() + N;
        sorok[pontok[i].first].push({pontok[i].second, i});
        sorok[pontok[i].second].push({pontok[i].first, i});
    }
    vector<bool> visited(N, false);
    vector<int> color{N};

    for(int i = 0; i < N; i++){
        int nextColor = 1;
        while(!sorok[i].empty()){
            DFS(i, sorok, visited, color, nextColor);
            nextColor *= -1;
        }
    }

    for(int i = 0; i < N; i++){
        if(color[i] == 1){
            cout << "F";
        }
        else{
            cout << "L";
        }
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Runtime error157ms65536 KiB
subtask20/5
3Runtime error164ms65536 KiB
4Runtime error153ms65536 KiB
subtask30/7
5Runtime error164ms65536 KiB
6Runtime error153ms65536 KiB
7Runtime error168ms65536 KiB
8Runtime error158ms65536 KiB
9Runtime error159ms65536 KiB
10Runtime error172ms65536 KiB
subtask40/20
11Runtime error172ms65536 KiB
12Runtime error162ms65536 KiB
13Runtime error162ms65536 KiB
14Runtime error172ms65536 KiB
15Runtime error162ms65536 KiB
16Runtime error171ms65536 KiB
subtask50/13
17Accepted1ms508 KiB
18Runtime error1ms316 KiB
19Runtime error1ms316 KiB
20Runtime error1ms316 KiB
21Runtime error1ms316 KiB
22Runtime error1ms316 KiB
23Runtime error1ms316 KiB
24Runtime error1ms316 KiB
25Runtime error1ms320 KiB
26Runtime error1ms512 KiB
27Runtime error1ms316 KiB
28Runtime error1ms316 KiB
29Runtime error1ms316 KiB
30Runtime error1ms316 KiB
31Runtime error1ms500 KiB
32Runtime error1ms316 KiB
33Runtime error1ms316 KiB
subtask60/20
34Accepted1ms508 KiB
35Runtime error1ms316 KiB
36Runtime error1ms316 KiB
37Runtime error1ms316 KiB
38Runtime error1ms316 KiB
39Runtime error1ms316 KiB
40Runtime error1ms316 KiB
41Runtime error1ms316 KiB
42Runtime error1ms320 KiB
43Runtime error1ms512 KiB
44Runtime error1ms316 KiB
45Runtime error1ms316 KiB
46Runtime error1ms316 KiB
47Runtime error1ms316 KiB
48Runtime error1ms500 KiB
49Runtime error1ms316 KiB
50Runtime error1ms316 KiB
51Runtime error3ms1588 KiB
52Runtime error4ms2036 KiB
53Runtime error4ms1844 KiB
54Runtime error4ms1844 KiB
55Runtime error4ms1844 KiB
56Runtime error4ms1588 KiB
57Runtime error3ms1588 KiB
58Runtime error3ms1844 KiB
59Runtime error4ms1844 KiB
60Runtime error3ms1848 KiB
61Runtime error4ms1844 KiB
62Runtime error3ms1844 KiB
63Runtime error4ms1780 KiB
64Runtime error3ms1844 KiB
65Runtime error3ms1588 KiB
subtask70/35
66Accepted1ms508 KiB
67Runtime error156ms65536 KiB
68Runtime error164ms65536 KiB
69Runtime error153ms65536 KiB
70Runtime error168ms65536 KiB
71Runtime error158ms65536 KiB
72Runtime error159ms65536 KiB
73Runtime error172ms65536 KiB
74Runtime error172ms65536 KiB
75Runtime error162ms65536 KiB
76Runtime error162ms65536 KiB
77Runtime error172ms65536 KiB
78Runtime error162ms65536 KiB
79Runtime error171ms65536 KiB
80Runtime error1ms316 KiB
81Runtime error1ms316 KiB
82Runtime error1ms316 KiB
83Runtime error1ms316 KiB
84Runtime error1ms316 KiB
85Runtime error1ms316 KiB
86Runtime error1ms316 KiB
87Runtime error1ms320 KiB
88Runtime error1ms512 KiB
89Runtime error1ms316 KiB
90Runtime error1ms316 KiB
91Runtime error1ms316 KiB
92Runtime error1ms316 KiB
93Runtime error1ms500 KiB
94Runtime error1ms316 KiB
95Runtime error1ms316 KiB
96Runtime error3ms1588 KiB
97Runtime error4ms2036 KiB
98Runtime error4ms1844 KiB
99Runtime error4ms1844 KiB
100Runtime error4ms1844 KiB
101Runtime error4ms1588 KiB
102Runtime error3ms1588 KiB
103Runtime error3ms1844 KiB
104Runtime error4ms1844 KiB
105Runtime error3ms1848 KiB
106Runtime error4ms1844 KiB
107Runtime error3ms1844 KiB
108Runtime error4ms1780 KiB
109Runtime error3ms1844 KiB
110Runtime error3ms1588 KiB
111Runtime error165ms65536 KiB
112Runtime error162ms65536 KiB
113Runtime error150ms65536 KiB
114Runtime error152ms65536 KiB
115Runtime error152ms65536 KiB
116Runtime error165ms65536 KiB
117Runtime error165ms65536 KiB
118Runtime error153ms65536 KiB
119Runtime error165ms65536 KiB
120Runtime error166ms65536 KiB
121Runtime error153ms65536 KiB