165202025-05-06 03:03:59BucsMateÉvzárócpp17Wrong answer 0/100179ms65536 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]){
            return;
        }
        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
1Wrong answer1ms316 KiB
2Runtime error172ms65536 KiB
subtask20/5
3Runtime error158ms65536 KiB
4Runtime error170ms65536 KiB
subtask30/7
5Runtime error158ms65536 KiB
6Runtime error170ms65536 KiB
7Runtime error163ms65536 KiB
8Runtime error165ms65536 KiB
9Runtime error177ms65536 KiB
10Runtime error177ms65536 KiB
subtask40/20
11Runtime error179ms65536 KiB
12Runtime error166ms65536 KiB
13Runtime error167ms65536 KiB
14Runtime error177ms65536 KiB
15Runtime error177ms65536 KiB
16Runtime error165ms65536 KiB
subtask50/13
17Wrong answer1ms508 KiB
18Runtime error1ms316 KiB
19Runtime error1ms316 KiB
20Runtime error1ms440 KiB
21Runtime error1ms316 KiB
22Runtime error1ms316 KiB
23Runtime error1ms316 KiB
24Runtime error1ms612 KiB
25Runtime error1ms316 KiB
26Runtime error1ms320 KiB
27Runtime error1ms508 KiB
28Runtime error1ms388 KiB
29Runtime error1ms316 KiB
30Runtime error1ms320 KiB
31Runtime error1ms636 KiB
32Runtime error1ms316 KiB
33Runtime error1ms316 KiB
subtask60/20
34Wrong answer1ms508 KiB
35Runtime error1ms316 KiB
36Runtime error1ms316 KiB
37Runtime error1ms440 KiB
38Runtime error1ms316 KiB
39Runtime error1ms316 KiB
40Runtime error1ms316 KiB
41Runtime error1ms612 KiB
42Runtime error1ms316 KiB
43Runtime error1ms320 KiB
44Runtime error1ms508 KiB
45Runtime error1ms388 KiB
46Runtime error1ms316 KiB
47Runtime error1ms320 KiB
48Runtime error1ms636 KiB
49Runtime error1ms316 KiB
50Runtime error1ms316 KiB
51Runtime error4ms1588 KiB
52Runtime error4ms1844 KiB
53Runtime error4ms1844 KiB
54Runtime error4ms1844 KiB
55Runtime error3ms1844 KiB
56Runtime error4ms1608 KiB
57Runtime error3ms1588 KiB
58Runtime error3ms1844 KiB
59Runtime error4ms2040 KiB
60Runtime error3ms1844 KiB
61Runtime error3ms1844 KiB
62Runtime error3ms1848 KiB
63Runtime error4ms1616 KiB
64Runtime error3ms1844 KiB
65Runtime error3ms1844 KiB
subtask70/35
66Wrong answer1ms508 KiB
67Runtime error174ms65536 KiB
68Runtime error158ms65536 KiB
69Runtime error170ms65536 KiB
70Runtime error163ms65536 KiB
71Runtime error165ms65536 KiB
72Runtime error177ms65536 KiB
73Runtime error177ms65536 KiB
74Runtime error179ms65536 KiB
75Runtime error166ms65536 KiB
76Runtime error167ms65536 KiB
77Runtime error177ms65536 KiB
78Runtime error177ms65536 KiB
79Runtime error165ms65536 KiB
80Runtime error1ms316 KiB
81Runtime error1ms316 KiB
82Runtime error1ms440 KiB
83Runtime error1ms316 KiB
84Runtime error1ms316 KiB
85Runtime error1ms316 KiB
86Runtime error1ms612 KiB
87Runtime error1ms316 KiB
88Runtime error1ms320 KiB
89Runtime error1ms508 KiB
90Runtime error1ms388 KiB
91Runtime error1ms316 KiB
92Runtime error1ms320 KiB
93Runtime error1ms636 KiB
94Runtime error1ms316 KiB
95Runtime error1ms316 KiB
96Runtime error4ms1588 KiB
97Runtime error4ms1844 KiB
98Runtime error4ms1844 KiB
99Runtime error4ms1844 KiB
100Runtime error3ms1844 KiB
101Runtime error4ms1608 KiB
102Runtime error3ms1588 KiB
103Runtime error3ms1844 KiB
104Runtime error4ms2040 KiB
105Runtime error3ms1844 KiB
106Runtime error3ms1844 KiB
107Runtime error3ms1848 KiB
108Runtime error4ms1616 KiB
109Runtime error3ms1844 KiB
110Runtime error3ms1844 KiB
111Runtime error171ms65536 KiB
112Runtime error155ms65536 KiB
113Runtime error155ms65536 KiB
114Runtime error170ms65536 KiB
115Runtime error170ms65536 KiB
116Runtime error160ms65536 KiB
117Runtime error159ms65536 KiB
118Runtime error171ms65536 KiB
119Runtime error160ms65536 KiB
120Runtime error160ms65536 KiB
121Runtime error170ms65536 KiB