157432025-02-25 18:19:12TaxiradioÉvzárócpp17Hibás válasz 0/100326ms27692 KiB
// Source: https://usaco.guide/general/io

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

#define int int64_t

const int k = 2000000000;

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]] = 2;
        dfs(g[h].back()[0]);
        ans[g[h].back()[1]] = l;
        l = !l;
    }
}

int32_t 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+k);
        e.push_back({y , z+k , 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
2Hibás válasz172ms18984 KiB
subtask20/5
3Futási hiba175ms22312 KiB
4Futási hiba184ms22316 KiB
subtask30/7
5Futási hiba175ms22312 KiB
6Futási hiba184ms22316 KiB
7Hibás válasz215ms22628 KiB
8Hibás válasz246ms23080 KiB
9Hibás válasz268ms23340 KiB
10Elfogadva300ms27692 KiB
subtask40/20
11Hibás válasz216ms17188 KiB
12Hibás válasz216ms17452 KiB
13Hibás válasz234ms17448 KiB
14Hibás válasz234ms17352 KiB
15Hibás válasz209ms17700 KiB
16Elfogadva326ms25276 KiB
subtask50/13
17Elfogadva1ms508 KiB
18Futási hiba1ms496 KiB
19Futási hiba1ms408 KiB
20Futási hiba1ms316 KiB
21Futási hiba1ms352 KiB
22Futási hiba1ms316 KiB
23Futási hiba1ms316 KiB
24Futási hiba1ms316 KiB
25Futási hiba1ms316 KiB
26Futási hiba1ms316 KiB
27Futási hiba1ms316 KiB
28Hibás válasz1ms316 KiB
29Futási hiba1ms316 KiB
30Hibás válasz1ms316 KiB
31Futási hiba1ms316 KiB
32Futási hiba1ms564 KiB
33Futási hiba1ms316 KiB
subtask60/20
34Elfogadva1ms508 KiB
35Futási hiba1ms496 KiB
36Futási hiba1ms408 KiB
37Futási hiba1ms316 KiB
38Futási hiba1ms352 KiB
39Futási hiba1ms316 KiB
40Futási hiba1ms316 KiB
41Futási hiba1ms316 KiB
42Futási hiba1ms316 KiB
43Futási hiba1ms316 KiB
44Futási hiba1ms316 KiB
45Hibás válasz1ms316 KiB
46Futási hiba1ms316 KiB
47Hibás válasz1ms316 KiB
48Futási hiba1ms316 KiB
49Futási hiba1ms564 KiB
50Futási hiba1ms316 KiB
51Elfogadva3ms564 KiB
52Hibás válasz3ms564 KiB
53Hibás válasz3ms564 KiB
54Hibás válasz3ms564 KiB
55Hibás válasz2ms564 KiB
56Hibás válasz2ms564 KiB
57Hibás válasz2ms564 KiB
58Futási hiba2ms820 KiB
59Hibás válasz2ms568 KiB
60Hibás válasz2ms564 KiB
61Hibás válasz2ms564 KiB
62Hibás válasz2ms564 KiB
63Hibás válasz2ms564 KiB
64Hibás válasz2ms460 KiB
65Hibás válasz2ms564 KiB
subtask70/35
66Elfogadva1ms508 KiB
67Hibás válasz168ms19008 KiB
68Futási hiba175ms22312 KiB
69Futási hiba184ms22316 KiB
70Hibás válasz215ms22628 KiB
71Hibás válasz246ms23080 KiB
72Hibás válasz268ms23340 KiB
73Elfogadva300ms27692 KiB
74Hibás válasz216ms17188 KiB
75Hibás válasz216ms17452 KiB
76Hibás válasz234ms17448 KiB
77Hibás válasz234ms17352 KiB
78Hibás válasz209ms17700 KiB
79Elfogadva326ms25276 KiB
80Futási hiba1ms496 KiB
81Futási hiba1ms408 KiB
82Futási hiba1ms316 KiB
83Futási hiba1ms352 KiB
84Futási hiba1ms316 KiB
85Futási hiba1ms316 KiB
86Futási hiba1ms316 KiB
87Futási hiba1ms316 KiB
88Futási hiba1ms316 KiB
89Futási hiba1ms316 KiB
90Hibás válasz1ms316 KiB
91Futási hiba1ms316 KiB
92Hibás válasz1ms316 KiB
93Futási hiba1ms316 KiB
94Futási hiba1ms564 KiB
95Futási hiba1ms316 KiB
96Elfogadva3ms564 KiB
97Hibás válasz3ms564 KiB
98Hibás válasz3ms564 KiB
99Hibás válasz3ms564 KiB
100Hibás válasz2ms564 KiB
101Hibás válasz2ms564 KiB
102Hibás válasz2ms564 KiB
103Futási hiba2ms820 KiB
104Hibás válasz2ms568 KiB
105Hibás válasz2ms564 KiB
106Hibás válasz2ms564 KiB
107Hibás válasz2ms564 KiB
108Hibás válasz2ms564 KiB
109Hibás válasz2ms460 KiB
110Hibás válasz2ms564 KiB
111Hibás válasz155ms17700 KiB
112Hibás válasz151ms18728 KiB
113Hibás válasz144ms18652 KiB
114Hibás válasz157ms18724 KiB
115Hibás válasz151ms18768 KiB
116Hibás válasz155ms18980 KiB
117Hibás válasz162ms18120 KiB
118Hibás válasz158ms18732 KiB
119Hibás válasz158ms18980 KiB
120Hibás válasz160ms18212 KiB
121Hibás válasz158ms18968 KiB