108612024-04-17 08:43:51AblablablaÉvzárócpp17Futási hiba 33/100180ms131900 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

vector<bool> bejart;
vector<queue<pii>> csucsok;
vector<bool> ans;

void dfs(int akt, bool fiu){
    while(!csucsok[akt].empty()){
        pii kovi = csucsok[akt].front();
        csucsok[akt].pop();

        if(bejart[kovi.second]) continue;

        bejart[kovi.second] = 1;
        ans[kovi.second] = fiu;
        dfs(kovi.first, !fiu);
        return;
    }
}

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

    vector<pii> pontok(n);
    vector<int> pontX(n);
    vector<int> pontY(n);
    for(int i = 0; i < n; i++){
        cin >> pontok[i].first >> pontok[i].second;

        pontX[i] = pontok[i].first;
        pontY[i] = pontok[i].second;
    }

    sort(pontX.begin(), pontX.end());
    sort(pontY.begin(), pontY.end());

    pontX.erase(unique(pontX.begin(), pontX.end()), pontX.end());
    pontY.erase(unique(pontY.begin(), pontY.end()), pontY.end());

    csucsok.assign(2 * n, queue<pii>());
    for(int i = 0; i < n; i++){
        pontok[i].first = lower_bound(pontX.begin(), pontX.end(), pontok[i].first) - pontX.begin();
        pontok[i].second = lower_bound(pontY.begin(), pontY.end(), pontok[i].second) - pontY.begin();

        csucsok[pontok[i].first].push({pontok[i].second + n, i});
        csucsok[pontok[i].second + n].push({pontok[i].first, i});
    }

    bejart.assign(n, 0);
    ans.assign(n, 0);

    for(int i = 0; i < n; i++){
        bool fiu = 0;
        while(!csucsok[i].empty()){
            dfs(i, fiu);
            fiu = !fiu;
        }
    }

    for(bool x : ans){
        cout << (x ? "F" : "L");
    }
    cout << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1884 KiB
2Futási hiba165ms131900 KiB
subtask20/5
3Futási hiba163ms131692 KiB
4Futási hiba172ms131480 KiB
subtask30/7
5Futási hiba163ms131692 KiB
6Futási hiba172ms131480 KiB
7Futási hiba159ms131460 KiB
8Futási hiba165ms131260 KiB
9Futási hiba178ms131020 KiB
10Futási hiba179ms131012 KiB
subtask40/20
11Futási hiba178ms130772 KiB
12Futási hiba180ms130772 KiB
13Futási hiba167ms130624 KiB
14Futási hiba166ms130396 KiB
15Futási hiba179ms130324 KiB
16Futási hiba179ms130096 KiB
subtask513/13
17Elfogadva3ms4128 KiB
18Elfogadva3ms4376 KiB
19Elfogadva3ms4336 KiB
20Elfogadva3ms4440 KiB
21Elfogadva3ms4540 KiB
22Elfogadva3ms4508 KiB
23Elfogadva3ms4616 KiB
24Elfogadva3ms4516 KiB
25Elfogadva3ms4512 KiB
26Elfogadva3ms4508 KiB
27Elfogadva3ms4504 KiB
28Elfogadva3ms4500 KiB
29Elfogadva3ms4632 KiB
30Elfogadva3ms4780 KiB
31Elfogadva3ms4868 KiB
32Elfogadva3ms4852 KiB
33Elfogadva3ms4852 KiB
subtask620/20
34Elfogadva3ms4128 KiB
35Elfogadva3ms4376 KiB
36Elfogadva3ms4336 KiB
37Elfogadva3ms4440 KiB
38Elfogadva3ms4540 KiB
39Elfogadva3ms4508 KiB
40Elfogadva3ms4616 KiB
41Elfogadva3ms4516 KiB
42Elfogadva3ms4512 KiB
43Elfogadva3ms4508 KiB
44Elfogadva3ms4504 KiB
45Elfogadva3ms4500 KiB
46Elfogadva3ms4632 KiB
47Elfogadva3ms4780 KiB
48Elfogadva3ms4868 KiB
49Elfogadva3ms4852 KiB
50Elfogadva3ms4852 KiB
51Elfogadva4ms7416 KiB
52Elfogadva4ms7432 KiB
53Elfogadva4ms7456 KiB
54Elfogadva4ms7732 KiB
55Elfogadva4ms7720 KiB
56Elfogadva4ms7516 KiB
57Elfogadva4ms7400 KiB
58Elfogadva4ms7516 KiB
59Elfogadva4ms7444 KiB
60Elfogadva4ms7440 KiB
61Elfogadva4ms7444 KiB
62Elfogadva4ms7452 KiB
63Elfogadva4ms7712 KiB
64Elfogadva4ms7936 KiB
65Elfogadva4ms8048 KiB
subtask70/35
66Elfogadva3ms4128 KiB
67Futási hiba173ms128696 KiB
68Futási hiba163ms131692 KiB
69Futási hiba172ms131480 KiB
70Futási hiba159ms131460 KiB
71Futási hiba165ms131260 KiB
72Futási hiba178ms131020 KiB
73Futási hiba179ms131012 KiB
74Futási hiba178ms130772 KiB
75Futási hiba180ms130772 KiB
76Futási hiba167ms130624 KiB
77Futási hiba166ms130396 KiB
78Futási hiba179ms130324 KiB
79Futási hiba179ms130096 KiB
80Elfogadva3ms4376 KiB
81Elfogadva3ms4336 KiB
82Elfogadva3ms4440 KiB
83Elfogadva3ms4540 KiB
84Elfogadva3ms4508 KiB
85Elfogadva3ms4616 KiB
86Elfogadva3ms4516 KiB
87Elfogadva3ms4512 KiB
88Elfogadva3ms4508 KiB
89Elfogadva3ms4504 KiB
90Elfogadva3ms4500 KiB
91Elfogadva3ms4632 KiB
92Elfogadva3ms4780 KiB
93Elfogadva3ms4868 KiB
94Elfogadva3ms4852 KiB
95Elfogadva3ms4852 KiB
96Elfogadva4ms7416 KiB
97Elfogadva4ms7432 KiB
98Elfogadva4ms7456 KiB
99Elfogadva4ms7732 KiB
100Elfogadva4ms7720 KiB
101Elfogadva4ms7516 KiB
102Elfogadva4ms7400 KiB
103Elfogadva4ms7516 KiB
104Elfogadva4ms7444 KiB
105Elfogadva4ms7440 KiB
106Elfogadva4ms7444 KiB
107Elfogadva4ms7452 KiB
108Elfogadva4ms7712 KiB
109Elfogadva4ms7936 KiB
110Elfogadva4ms8048 KiB
111Futási hiba158ms128688 KiB
112Futási hiba165ms128664 KiB
113Futási hiba153ms128636 KiB
114Futási hiba158ms128628 KiB
115Futási hiba170ms128620 KiB
116Futási hiba159ms128608 KiB
117Futási hiba159ms128604 KiB
118Futási hiba158ms128584 KiB
119Futási hiba159ms128592 KiB
120Futási hiba160ms128576 KiB
121Futási hiba158ms128576 KiB