157412025-02-25 18:10:13TaxiradioÉvzárócpp17Hibás válasz 5/100222ms20272 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++});
        }
    }
    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
2Hibás válasz164ms13872 KiB
subtask25/5
3Elfogadva185ms19764 KiB
4Elfogadva185ms19696 KiB
subtask30/7
5Elfogadva185ms19764 KiB
6Elfogadva185ms19696 KiB
7Hibás válasz207ms19884 KiB
8Hibás válasz204ms20272 KiB
9Futási hiba178ms14132 KiB
10Futási hiba222ms16948 KiB
subtask40/20
11Hibás válasz203ms14132 KiB
12Hibás válasz194ms12340 KiB
13Elfogadva210ms13480 KiB
14Elfogadva196ms13272 KiB
15Elfogadva189ms12960 KiB
16Futási hiba195ms17204 KiB
subtask50/13
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms508 KiB
21Hibás válasz1ms316 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Hibás válasz1ms316 KiB
26Elfogadva1ms316 KiB
27Hibás válasz1ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Hibás válasz1ms316 KiB
31Elfogadva1ms536 KiB
32Elfogadva1ms508 KiB
33Hibás válasz1ms316 KiB
subtask60/20
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms508 KiB
38Hibás válasz1ms316 KiB
39Elfogadva1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Hibás válasz1ms316 KiB
43Elfogadva1ms316 KiB
44Hibás válasz1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Hibás válasz1ms316 KiB
48Elfogadva1ms536 KiB
49Elfogadva1ms508 KiB
50Hibás válasz1ms316 KiB
51Elfogadva3ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva2ms316 KiB
54Elfogadva2ms316 KiB
55Hibás válasz2ms316 KiB
56Elfogadva2ms316 KiB
57Elfogadva2ms508 KiB
58Hibás válasz2ms508 KiB
59Elfogadva2ms316 KiB
60Hibás válasz2ms316 KiB
61Hibás válasz2ms316 KiB
62Elfogadva2ms316 KiB
63Hibás válasz2ms316 KiB
64Hibás válasz2ms316 KiB
65Elfogadva2ms472 KiB
subtask70/35
66Elfogadva1ms316 KiB
67Hibás válasz165ms13948 KiB
68Elfogadva185ms19764 KiB
69Elfogadva185ms19696 KiB
70Hibás válasz207ms19884 KiB
71Hibás válasz204ms20272 KiB
72Futási hiba178ms14132 KiB
73Futási hiba222ms16948 KiB
74Hibás válasz203ms14132 KiB
75Hibás válasz194ms12340 KiB
76Elfogadva210ms13480 KiB
77Elfogadva196ms13272 KiB
78Elfogadva189ms12960 KiB
79Futási hiba195ms17204 KiB
80Elfogadva1ms316 KiB
81Elfogadva1ms316 KiB
82Elfogadva1ms508 KiB
83Hibás válasz1ms316 KiB
84Elfogadva1ms316 KiB
85Elfogadva1ms316 KiB
86Elfogadva1ms316 KiB
87Hibás válasz1ms316 KiB
88Elfogadva1ms316 KiB
89Hibás válasz1ms316 KiB
90Elfogadva1ms316 KiB
91Elfogadva1ms316 KiB
92Hibás válasz1ms316 KiB
93Elfogadva1ms536 KiB
94Elfogadva1ms508 KiB
95Hibás válasz1ms316 KiB
96Elfogadva3ms316 KiB
97Elfogadva2ms316 KiB
98Elfogadva2ms316 KiB
99Elfogadva2ms316 KiB
100Hibás válasz2ms316 KiB
101Elfogadva2ms316 KiB
102Elfogadva2ms508 KiB
103Hibás válasz2ms508 KiB
104Elfogadva2ms316 KiB
105Hibás válasz2ms316 KiB
106Hibás válasz2ms316 KiB
107Elfogadva2ms316 KiB
108Hibás válasz2ms316 KiB
109Hibás válasz2ms316 KiB
110Elfogadva2ms472 KiB
111Elfogadva143ms13064 KiB
112Elfogadva142ms13364 KiB
113Elfogadva137ms13224 KiB
114Elfogadva146ms13364 KiB
115Hibás válasz145ms13616 KiB
116Elfogadva148ms13620 KiB
117Hibás válasz155ms13164 KiB
118Hibás válasz146ms13620 KiB
119Hibás válasz153ms13620 KiB
120Hibás válasz158ms13364 KiB
121Hibás válasz146ms13668 KiB