157422025-02-25 18:11:46TaxiradioÉvzárócpp17Hibás válasz 5/100240ms18996 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

vector<array<int , 3>> e;
vector<vector<array<int , 2>>> g;
vector<int> ans;
vector<int> a;
int u = 0;
int l = 0;

void dfs(int h){
    while(!g[h].empty()){
        if(ans[g[h].back()[1]] != -1){
            g[h].pop_back();
            continue;
        }
        ans[g[h].back()[1]] = l;
        l = !l;
        dfs(g[h].back()[0]);
    }
}

int main() {
	int n; cin >> n;
    ans.resize(n*2+3 , -1);
    g.resize(n*2+3);
    for(int i = 0; i < n;i++){
        int y , z; cin >> y >> z;
        a.push_back(y);
        a.push_back(z);
        e.push_back({y , z , u++});
    }
    sort(a.begin() , a.end());
    a.erase(unique(a.begin(),a.end()),a.end());
    for(int i = 0; i < n;i++){
        e[i][0] = lower_bound(a.begin() , a.end() , e[i][0])-a.begin();
        e[i][1] = lower_bound(a.begin() , a.end() , e[i][1])-a.begin();
        g[e[i][0]].push_back({e[i][1] , e[i][2]});
        g[e[i][1]].push_back({e[i][0] , e[i][2]});
    }
    int r = -1;
    for(int i = 0; i < g.size();i++){
        if(g[i].size()%2 == 1){
            if(r == -1){
                r = i;
                continue;
            }
            g[i].push_back({r , u});
            g[r].push_back({i , u++});
            r = -1; 
        }
    }
    for(int i = 0; i < g.size();i++)if(g[i].size() != 0)dfs(i);
    for(int i = 0; i < n;i++){
        if(ans[i]){
            cout << "L";
        }else{
            cout << "F";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva160ms13860 KiB
subtask25/5
3Elfogadva164ms16436 KiB
4Elfogadva172ms16436 KiB
subtask30/7
5Elfogadva164ms16436 KiB
6Elfogadva172ms16436 KiB
7Elfogadva200ms16692 KiB
8Hibás válasz192ms16948 KiB
9Hibás válasz231ms17132 KiB
10Elfogadva240ms18228 KiB
subtask40/20
11Hibás válasz207ms14140 KiB
12Hibás válasz194ms12344 KiB
13Hibás válasz196ms13172 KiB
14Hibás válasz211ms13332 KiB
15Hibás válasz194ms12592 KiB
16Elfogadva239ms18996 KiB
subtask50/13
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Hibás válasz1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Hibás válasz1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Hibás válasz1ms316 KiB
28Elfogadva1ms508 KiB
29Elfogadva1ms316 KiB
30Hibás válasz1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms316 KiB
33Hibás válasz1ms316 KiB
subtask60/20
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Hibás válasz1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Hibás válasz1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Hibás válasz1ms316 KiB
45Elfogadva1ms508 KiB
46Elfogadva1ms316 KiB
47Hibás válasz1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Hibás válasz1ms316 KiB
51Elfogadva3ms316 KiB
52Elfogadva3ms316 KiB
53Hibás válasz3ms524 KiB
54Hibás válasz2ms316 KiB
55Elfogadva2ms492 KiB
56Elfogadva2ms316 KiB
57Elfogadva2ms464 KiB
58Elfogadva2ms316 KiB
59Elfogadva2ms508 KiB
60Elfogadva2ms556 KiB
61Elfogadva3ms316 KiB
62Elfogadva2ms316 KiB
63Elfogadva2ms316 KiB
64Hibás válasz2ms476 KiB
65Elfogadva2ms476 KiB
subtask70/35
66Elfogadva1ms316 KiB
67Elfogadva162ms13836 KiB
68Elfogadva164ms16436 KiB
69Elfogadva172ms16436 KiB
70Elfogadva200ms16692 KiB
71Hibás válasz192ms16948 KiB
72Hibás válasz231ms17132 KiB
73Elfogadva240ms18228 KiB
74Hibás válasz207ms14140 KiB
75Hibás válasz194ms12344 KiB
76Hibás válasz196ms13172 KiB
77Hibás válasz211ms13332 KiB
78Hibás válasz194ms12592 KiB
79Elfogadva239ms18996 KiB
80Elfogadva1ms316 KiB
81Hibás válasz1ms316 KiB
82Elfogadva1ms316 KiB
83Elfogadva1ms316 KiB
84Hibás válasz1ms316 KiB
85Elfogadva1ms316 KiB
86Elfogadva1ms316 KiB
87Elfogadva1ms316 KiB
88Elfogadva1ms316 KiB
89Hibás válasz1ms316 KiB
90Elfogadva1ms508 KiB
91Elfogadva1ms316 KiB
92Hibás válasz1ms316 KiB
93Elfogadva1ms316 KiB
94Elfogadva1ms316 KiB
95Hibás válasz1ms316 KiB
96Elfogadva3ms316 KiB
97Elfogadva3ms316 KiB
98Hibás válasz3ms524 KiB
99Hibás válasz2ms316 KiB
100Elfogadva2ms492 KiB
101Elfogadva2ms316 KiB
102Elfogadva2ms464 KiB
103Elfogadva2ms316 KiB
104Elfogadva2ms508 KiB
105Elfogadva2ms556 KiB
106Elfogadva3ms316 KiB
107Elfogadva2ms316 KiB
108Elfogadva2ms316 KiB
109Hibás válasz2ms476 KiB
110Elfogadva2ms476 KiB
111Elfogadva146ms12920 KiB
112Elfogadva142ms13364 KiB
113Elfogadva138ms13216 KiB
114Elfogadva144ms13476 KiB
115Hibás válasz144ms13496 KiB
116Elfogadva148ms13616 KiB
117Elfogadva153ms13224 KiB
118Hibás válasz150ms13560 KiB
119Elfogadva150ms13784 KiB
120Hibás válasz155ms13292 KiB
121Hibás válasz150ms13620 KiB