165192025-05-06 02:50:50BucsMateÉvzárócpp17Wrong answer 0/100172ms65536 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <stack>

using namespace std;

int lastColor = 1;

void DFS(int curr, vector<stack<pair<int, int>>> &sorok, vector<bool> &visited, vector<int> &color)
{
    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] = lastColor;
        lastColor *= -1;
        DFS(next.first, sorok, visited, color);
    }
}

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(), koordx[i]) - koordx.begin();
        pontok[i].second = lower_bound(koordy.begin(), koordy.begin(), koordy[i]) - 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++){
        DFS(i, sorok, visited, color);
    }

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

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