157402025-02-25 18:07:39TaxiradioÉvzárócpp17Hibás válasz 5/100237ms22172 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());
    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++)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álasz178ms15772 KiB
subtask25/5
3Elfogadva180ms21812 KiB
4Elfogadva180ms21656 KiB
subtask30/7
5Elfogadva180ms21812 KiB
6Elfogadva180ms21656 KiB
7Hibás válasz216ms21896 KiB
8Hibás válasz206ms22172 KiB
9Futási hiba194ms15924 KiB
10Futási hiba200ms18996 KiB
subtask40/20
11Hibás válasz237ms15924 KiB
12Hibás válasz229ms14132 KiB
13Elfogadva210ms15156 KiB
14Elfogadva210ms15388 KiB
15Elfogadva199ms14900 KiB
16Futási hiba195ms18992 KiB
subtask50/13
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms508 KiB
21Hibás válasz1ms564 KiB
22Elfogadva1ms508 KiB
23Elfogadva1ms400 KiB
24Elfogadva1ms316 KiB
25Hibás válasz1ms316 KiB
26Elfogadva1ms316 KiB
27Hibás válasz1ms316 KiB
28Elfogadva1ms400 KiB
29Elfogadva1ms316 KiB
30Hibás válasz1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms316 KiB
33Hibás válasz1ms316 KiB
subtask60/20
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms508 KiB
38Hibás válasz1ms564 KiB
39Elfogadva1ms508 KiB
40Elfogadva1ms400 KiB
41Elfogadva1ms316 KiB
42Hibás válasz1ms316 KiB
43Elfogadva1ms316 KiB
44Hibás válasz1ms316 KiB
45Elfogadva1ms400 KiB
46Elfogadva1ms316 KiB
47Hibás válasz1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Hibás válasz1ms316 KiB
51Elfogadva3ms480 KiB
52Elfogadva4ms528 KiB
53Elfogadva4ms316 KiB
54Elfogadva4ms316 KiB
55Hibás válasz3ms564 KiB
56Elfogadva3ms316 KiB
57Elfogadva2ms316 KiB
58Hibás válasz3ms316 KiB
59Elfogadva3ms316 KiB
60Hibás válasz2ms512 KiB
61Hibás válasz2ms420 KiB
62Elfogadva2ms472 KiB
63Hibás válasz3ms516 KiB
64Hibás válasz3ms564 KiB
65Elfogadva2ms316 KiB
subtask70/35
66Elfogadva1ms316 KiB
67Hibás válasz180ms13876 KiB
68Elfogadva180ms21812 KiB
69Elfogadva180ms21656 KiB
70Hibás válasz216ms21896 KiB
71Hibás válasz206ms22172 KiB
72Futási hiba194ms15924 KiB
73Futási hiba200ms18996 KiB
74Hibás válasz237ms15924 KiB
75Hibás válasz229ms14132 KiB
76Elfogadva210ms15156 KiB
77Elfogadva210ms15388 KiB
78Elfogadva199ms14900 KiB
79Futási hiba195ms18992 KiB
80Elfogadva1ms316 KiB
81Elfogadva1ms316 KiB
82Elfogadva1ms508 KiB
83Hibás válasz1ms564 KiB
84Elfogadva1ms508 KiB
85Elfogadva1ms400 KiB
86Elfogadva1ms316 KiB
87Hibás válasz1ms316 KiB
88Elfogadva1ms316 KiB
89Hibás válasz1ms316 KiB
90Elfogadva1ms400 KiB
91Elfogadva1ms316 KiB
92Hibás válasz1ms316 KiB
93Elfogadva1ms316 KiB
94Elfogadva1ms316 KiB
95Hibás válasz1ms316 KiB
96Elfogadva3ms480 KiB
97Elfogadva4ms528 KiB
98Elfogadva4ms316 KiB
99Elfogadva4ms316 KiB
100Hibás válasz3ms564 KiB
101Elfogadva3ms316 KiB
102Elfogadva2ms316 KiB
103Hibás válasz3ms316 KiB
104Elfogadva3ms316 KiB
105Hibás válasz2ms512 KiB
106Hibás válasz2ms420 KiB
107Elfogadva2ms472 KiB
108Hibás válasz3ms516 KiB
109Hibás válasz3ms564 KiB
110Elfogadva2ms316 KiB
111Elfogadva158ms15004 KiB
112Elfogadva160ms15156 KiB
113Elfogadva155ms15152 KiB
114Elfogadva159ms15408 KiB
115Hibás válasz167ms15664 KiB
116Elfogadva170ms15496 KiB
117Hibás válasz167ms15156 KiB
118Hibás válasz165ms15404 KiB
119Hibás válasz172ms15672 KiB
120Hibás válasz175ms15412 KiB
121Hibás válasz164ms15636 KiB