165212025-05-06 03:04:44BucsMateÉvzárócpp17Futási hiba 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Futási hiba157ms65536 KiB
subtask20/5
3Futási hiba164ms65536 KiB
4Futási hiba153ms65536 KiB
subtask30/7
5Futási hiba164ms65536 KiB
6Futási hiba153ms65536 KiB
7Futási hiba168ms65536 KiB
8Futási hiba158ms65536 KiB
9Futási hiba159ms65536 KiB
10Futási hiba172ms65536 KiB
subtask40/20
11Futási hiba172ms65536 KiB
12Futási hiba162ms65536 KiB
13Futási hiba162ms65536 KiB
14Futási hiba172ms65536 KiB
15Futási hiba162ms65536 KiB
16Futási hiba171ms65536 KiB
subtask50/13
17Elfogadva1ms508 KiB
18Futási hiba1ms316 KiB
19Futási hiba1ms316 KiB
20Futási hiba1ms316 KiB
21Futási hiba1ms316 KiB
22Futási hiba1ms316 KiB
23Futási hiba1ms316 KiB
24Futási hiba1ms316 KiB
25Futási hiba1ms320 KiB
26Futási hiba1ms512 KiB
27Futási hiba1ms316 KiB
28Futási hiba1ms316 KiB
29Futási hiba1ms316 KiB
30Futási hiba1ms316 KiB
31Futási hiba1ms500 KiB
32Futási hiba1ms316 KiB
33Futási hiba1ms316 KiB
subtask60/20
34Elfogadva1ms508 KiB
35Futási hiba1ms316 KiB
36Futási hiba1ms316 KiB
37Futási hiba1ms316 KiB
38Futási hiba1ms316 KiB
39Futási hiba1ms316 KiB
40Futási hiba1ms316 KiB
41Futási hiba1ms316 KiB
42Futási hiba1ms320 KiB
43Futási hiba1ms512 KiB
44Futási hiba1ms316 KiB
45Futási hiba1ms316 KiB
46Futási hiba1ms316 KiB
47Futási hiba1ms316 KiB
48Futási hiba1ms500 KiB
49Futási hiba1ms316 KiB
50Futási hiba1ms316 KiB
51Futási hiba3ms1588 KiB
52Futási hiba4ms2036 KiB
53Futási hiba4ms1844 KiB
54Futási hiba4ms1844 KiB
55Futási hiba4ms1844 KiB
56Futási hiba4ms1588 KiB
57Futási hiba3ms1588 KiB
58Futási hiba3ms1844 KiB
59Futási hiba4ms1844 KiB
60Futási hiba3ms1848 KiB
61Futási hiba4ms1844 KiB
62Futási hiba3ms1844 KiB
63Futási hiba4ms1780 KiB
64Futási hiba3ms1844 KiB
65Futási hiba3ms1588 KiB
subtask70/35
66Elfogadva1ms508 KiB
67Futási hiba156ms65536 KiB
68Futási hiba164ms65536 KiB
69Futási hiba153ms65536 KiB
70Futási hiba168ms65536 KiB
71Futási hiba158ms65536 KiB
72Futási hiba159ms65536 KiB
73Futási hiba172ms65536 KiB
74Futási hiba172ms65536 KiB
75Futási hiba162ms65536 KiB
76Futási hiba162ms65536 KiB
77Futási hiba172ms65536 KiB
78Futási hiba162ms65536 KiB
79Futási hiba171ms65536 KiB
80Futási hiba1ms316 KiB
81Futási hiba1ms316 KiB
82Futási hiba1ms316 KiB
83Futási hiba1ms316 KiB
84Futási hiba1ms316 KiB
85Futási hiba1ms316 KiB
86Futási hiba1ms316 KiB
87Futási hiba1ms320 KiB
88Futási hiba1ms512 KiB
89Futási hiba1ms316 KiB
90Futási hiba1ms316 KiB
91Futási hiba1ms316 KiB
92Futási hiba1ms316 KiB
93Futási hiba1ms500 KiB
94Futási hiba1ms316 KiB
95Futási hiba1ms316 KiB
96Futási hiba3ms1588 KiB
97Futási hiba4ms2036 KiB
98Futási hiba4ms1844 KiB
99Futási hiba4ms1844 KiB
100Futási hiba4ms1844 KiB
101Futási hiba4ms1588 KiB
102Futási hiba3ms1588 KiB
103Futási hiba3ms1844 KiB
104Futási hiba4ms1844 KiB
105Futási hiba3ms1848 KiB
106Futási hiba4ms1844 KiB
107Futási hiba3ms1844 KiB
108Futási hiba4ms1780 KiB
109Futási hiba3ms1844 KiB
110Futási hiba3ms1588 KiB
111Futási hiba165ms65536 KiB
112Futási hiba162ms65536 KiB
113Futási hiba150ms65536 KiB
114Futási hiba152ms65536 KiB
115Futási hiba152ms65536 KiB
116Futási hiba165ms65536 KiB
117Futási hiba165ms65536 KiB
118Futási hiba153ms65536 KiB
119Futási hiba165ms65536 KiB
120Futási hiba166ms65536 KiB
121Futási hiba153ms65536 KiB