// 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;
int n;
void dfs(int h){
while(!g[h].empty()){
if(ans[g[h].back()[1]] != -1){
g[h].pop_back();
continue;
}
int s = g[h].back()[1], d = g[h].back()[0];
ans[s] = 2;
dfs(g[h].back()[0]);
ans[s] = l;
if(s < n)l = !l;
}
}
int32_t main() {
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";
}
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 171ms | 20496 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 200ms | 24868 KiB | ||||
| 4 | Accepted | 203ms | 24868 KiB | ||||
| subtask3 | 7/7 | ||||||
| 5 | Accepted | 200ms | 24868 KiB | ||||
| 6 | Accepted | 203ms | 24868 KiB | ||||
| 7 | Accepted | 214ms | 25196 KiB | ||||
| 8 | Accepted | 245ms | 25476 KiB | ||||
| 9 | Accepted | 268ms | 25776 KiB | ||||
| 10 | Accepted | 345ms | 30756 KiB | ||||
| subtask4 | 0/20 | ||||||
| 11 | Accepted | 240ms | 18728 KiB | ||||
| 12 | Wrong answer | 223ms | 18144 KiB | ||||
| 13 | Wrong answer | 224ms | 18144 KiB | ||||
| 14 | Wrong answer | 238ms | 18176 KiB | ||||
| 15 | Accepted | 219ms | 18320 KiB | ||||
| 16 | Accepted | 303ms | 27396 KiB | ||||
| subtask5 | 0/13 | ||||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Accepted | 1ms | 316 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 316 KiB | ||||
| 21 | Accepted | 1ms | 316 KiB | ||||
| 22 | Accepted | 1ms | 316 KiB | ||||
| 23 | Accepted | 1ms | 316 KiB | ||||
| 24 | Wrong answer | 1ms | 316 KiB | ||||
| 25 | Accepted | 1ms | 316 KiB | ||||
| 26 | Accepted | 1ms | 316 KiB | ||||
| 27 | Accepted | 1ms | 316 KiB | ||||
| 28 | Accepted | 1ms | 316 KiB | ||||
| 29 | Accepted | 1ms | 316 KiB | ||||
| 30 | Accepted | 1ms | 316 KiB | ||||
| 31 | Accepted | 1ms | 316 KiB | ||||
| 32 | Accepted | 1ms | 316 KiB | ||||
| 33 | Accepted | 1ms | 404 KiB | ||||
| subtask6 | 0/20 | ||||||
| 34 | Accepted | 1ms | 316 KiB | ||||
| 35 | Accepted | 1ms | 316 KiB | ||||
| 36 | Accepted | 1ms | 316 KiB | ||||
| 37 | Accepted | 1ms | 316 KiB | ||||
| 38 | Accepted | 1ms | 316 KiB | ||||
| 39 | Accepted | 1ms | 316 KiB | ||||
| 40 | Accepted | 1ms | 316 KiB | ||||
| 41 | Wrong answer | 1ms | 316 KiB | ||||
| 42 | Accepted | 1ms | 316 KiB | ||||
| 43 | Accepted | 1ms | 316 KiB | ||||
| 44 | Accepted | 1ms | 316 KiB | ||||
| 45 | Accepted | 1ms | 316 KiB | ||||
| 46 | Accepted | 1ms | 316 KiB | ||||
| 47 | Accepted | 1ms | 316 KiB | ||||
| 48 | Accepted | 1ms | 316 KiB | ||||
| 49 | Accepted | 1ms | 316 KiB | ||||
| 50 | Accepted | 1ms | 404 KiB | ||||
| 51 | Wrong answer | 3ms | 580 KiB | ||||
| 52 | Wrong answer | 2ms | 564 KiB | ||||
| 53 | Wrong answer | 3ms | 756 KiB | ||||
| 54 | Accepted | 3ms | 564 KiB | ||||
| 55 | Accepted | 2ms | 564 KiB | ||||
| 56 | Accepted | 2ms | 564 KiB | ||||
| 57 | Accepted | 2ms | 564 KiB | ||||
| 58 | Accepted | 2ms | 564 KiB | ||||
| 59 | Accepted | 2ms | 564 KiB | ||||
| 60 | Accepted | 2ms | 620 KiB | ||||
| 61 | Accepted | 2ms | 564 KiB | ||||
| 62 | Accepted | 2ms | 564 KiB | ||||
| 63 | Accepted | 2ms | 564 KiB | ||||
| 64 | Accepted | 2ms | 564 KiB | ||||
| 65 | Accepted | 2ms | 564 KiB | ||||
| subtask7 | 0/35 | ||||||
| 66 | Accepted | 1ms | 316 KiB | ||||
| 67 | Accepted | 179ms | 20432 KiB | ||||
| 68 | Accepted | 200ms | 24868 KiB | ||||
| 69 | Accepted | 203ms | 24868 KiB | ||||
| 70 | Accepted | 214ms | 25196 KiB | ||||
| 71 | Accepted | 245ms | 25476 KiB | ||||
| 72 | Accepted | 268ms | 25776 KiB | ||||
| 73 | Accepted | 345ms | 30756 KiB | ||||
| 74 | Accepted | 240ms | 18728 KiB | ||||
| 75 | Wrong answer | 223ms | 18144 KiB | ||||
| 76 | Wrong answer | 224ms | 18144 KiB | ||||
| 77 | Wrong answer | 238ms | 18176 KiB | ||||
| 78 | Accepted | 219ms | 18320 KiB | ||||
| 79 | Accepted | 303ms | 27396 KiB | ||||
| 80 | Accepted | 1ms | 316 KiB | ||||
| 81 | Accepted | 1ms | 316 KiB | ||||
| 82 | Accepted | 1ms | 316 KiB | ||||
| 83 | Accepted | 1ms | 316 KiB | ||||
| 84 | Accepted | 1ms | 316 KiB | ||||
| 85 | Accepted | 1ms | 316 KiB | ||||
| 86 | Wrong answer | 1ms | 316 KiB | ||||
| 87 | Accepted | 1ms | 316 KiB | ||||
| 88 | Accepted | 1ms | 316 KiB | ||||
| 89 | Accepted | 1ms | 316 KiB | ||||
| 90 | Accepted | 1ms | 316 KiB | ||||
| 91 | Accepted | 1ms | 316 KiB | ||||
| 92 | Accepted | 1ms | 316 KiB | ||||
| 93 | Accepted | 1ms | 316 KiB | ||||
| 94 | Accepted | 1ms | 316 KiB | ||||
| 95 | Accepted | 1ms | 404 KiB | ||||
| 96 | Wrong answer | 3ms | 580 KiB | ||||
| 97 | Wrong answer | 2ms | 564 KiB | ||||
| 98 | Wrong answer | 3ms | 756 KiB | ||||
| 99 | Accepted | 3ms | 564 KiB | ||||
| 100 | Accepted | 2ms | 564 KiB | ||||
| 101 | Accepted | 2ms | 564 KiB | ||||
| 102 | Accepted | 2ms | 564 KiB | ||||
| 103 | Accepted | 2ms | 564 KiB | ||||
| 104 | Accepted | 2ms | 564 KiB | ||||
| 105 | Accepted | 2ms | 620 KiB | ||||
| 106 | Accepted | 2ms | 564 KiB | ||||
| 107 | Accepted | 2ms | 564 KiB | ||||
| 108 | Accepted | 2ms | 564 KiB | ||||
| 109 | Accepted | 2ms | 564 KiB | ||||
| 110 | Accepted | 2ms | 564 KiB | ||||
| 111 | Accepted | 158ms | 19272 KiB | ||||
| 112 | Accepted | 152ms | 20256 KiB | ||||
| 113 | Accepted | 148ms | 20176 KiB | ||||
| 114 | Accepted | 153ms | 20268 KiB | ||||
| 115 | Accepted | 159ms | 20516 KiB | ||||
| 116 | Accepted | 164ms | 20528 KiB | ||||
| 117 | Accepted | 159ms | 19752 KiB | ||||
| 118 | Accepted | 156ms | 20260 KiB | ||||
| 119 | Accepted | 158ms | 20760 KiB | ||||
| 120 | Accepted | 166ms | 19752 KiB | ||||
| 121 | Accepted | 158ms | 20520 KiB | ||||