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