// 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";
}
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 164ms | 13872 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 185ms | 19764 KiB | ||||
| 4 | Accepted | 185ms | 19696 KiB | ||||
| subtask3 | 0/7 | ||||||
| 5 | Accepted | 185ms | 19764 KiB | ||||
| 6 | Accepted | 185ms | 19696 KiB | ||||
| 7 | Wrong answer | 207ms | 19884 KiB | ||||
| 8 | Wrong answer | 204ms | 20272 KiB | ||||
| 9 | Runtime error | 178ms | 14132 KiB | ||||
| 10 | Runtime error | 222ms | 16948 KiB | ||||
| subtask4 | 0/20 | ||||||
| 11 | Wrong answer | 203ms | 14132 KiB | ||||
| 12 | Wrong answer | 194ms | 12340 KiB | ||||
| 13 | Accepted | 210ms | 13480 KiB | ||||
| 14 | Accepted | 196ms | 13272 KiB | ||||
| 15 | Accepted | 189ms | 12960 KiB | ||||
| 16 | Runtime error | 195ms | 17204 KiB | ||||
| subtask5 | 0/13 | ||||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Accepted | 1ms | 316 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 508 KiB | ||||
| 21 | Wrong answer | 1ms | 316 KiB | ||||
| 22 | Accepted | 1ms | 316 KiB | ||||
| 23 | Accepted | 1ms | 316 KiB | ||||
| 24 | Accepted | 1ms | 316 KiB | ||||
| 25 | Wrong answer | 1ms | 316 KiB | ||||
| 26 | Accepted | 1ms | 316 KiB | ||||
| 27 | Wrong answer | 1ms | 316 KiB | ||||
| 28 | Accepted | 1ms | 316 KiB | ||||
| 29 | Accepted | 1ms | 316 KiB | ||||
| 30 | Wrong answer | 1ms | 316 KiB | ||||
| 31 | Accepted | 1ms | 536 KiB | ||||
| 32 | Accepted | 1ms | 508 KiB | ||||
| 33 | Wrong answer | 1ms | 316 KiB | ||||
| subtask6 | 0/20 | ||||||
| 34 | Accepted | 1ms | 316 KiB | ||||
| 35 | Accepted | 1ms | 316 KiB | ||||
| 36 | Accepted | 1ms | 316 KiB | ||||
| 37 | Accepted | 1ms | 508 KiB | ||||
| 38 | Wrong answer | 1ms | 316 KiB | ||||
| 39 | Accepted | 1ms | 316 KiB | ||||
| 40 | Accepted | 1ms | 316 KiB | ||||
| 41 | Accepted | 1ms | 316 KiB | ||||
| 42 | Wrong answer | 1ms | 316 KiB | ||||
| 43 | Accepted | 1ms | 316 KiB | ||||
| 44 | Wrong answer | 1ms | 316 KiB | ||||
| 45 | Accepted | 1ms | 316 KiB | ||||
| 46 | Accepted | 1ms | 316 KiB | ||||
| 47 | Wrong answer | 1ms | 316 KiB | ||||
| 48 | Accepted | 1ms | 536 KiB | ||||
| 49 | Accepted | 1ms | 508 KiB | ||||
| 50 | Wrong answer | 1ms | 316 KiB | ||||
| 51 | Accepted | 3ms | 316 KiB | ||||
| 52 | Accepted | 2ms | 316 KiB | ||||
| 53 | Accepted | 2ms | 316 KiB | ||||
| 54 | Accepted | 2ms | 316 KiB | ||||
| 55 | Wrong answer | 2ms | 316 KiB | ||||
| 56 | Accepted | 2ms | 316 KiB | ||||
| 57 | Accepted | 2ms | 508 KiB | ||||
| 58 | Wrong answer | 2ms | 508 KiB | ||||
| 59 | Accepted | 2ms | 316 KiB | ||||
| 60 | Wrong answer | 2ms | 316 KiB | ||||
| 61 | Wrong answer | 2ms | 316 KiB | ||||
| 62 | Accepted | 2ms | 316 KiB | ||||
| 63 | Wrong answer | 2ms | 316 KiB | ||||
| 64 | Wrong answer | 2ms | 316 KiB | ||||
| 65 | Accepted | 2ms | 472 KiB | ||||
| subtask7 | 0/35 | ||||||
| 66 | Accepted | 1ms | 316 KiB | ||||
| 67 | Wrong answer | 165ms | 13948 KiB | ||||
| 68 | Accepted | 185ms | 19764 KiB | ||||
| 69 | Accepted | 185ms | 19696 KiB | ||||
| 70 | Wrong answer | 207ms | 19884 KiB | ||||
| 71 | Wrong answer | 204ms | 20272 KiB | ||||
| 72 | Runtime error | 178ms | 14132 KiB | ||||
| 73 | Runtime error | 222ms | 16948 KiB | ||||
| 74 | Wrong answer | 203ms | 14132 KiB | ||||
| 75 | Wrong answer | 194ms | 12340 KiB | ||||
| 76 | Accepted | 210ms | 13480 KiB | ||||
| 77 | Accepted | 196ms | 13272 KiB | ||||
| 78 | Accepted | 189ms | 12960 KiB | ||||
| 79 | Runtime error | 195ms | 17204 KiB | ||||
| 80 | Accepted | 1ms | 316 KiB | ||||
| 81 | Accepted | 1ms | 316 KiB | ||||
| 82 | Accepted | 1ms | 508 KiB | ||||
| 83 | Wrong answer | 1ms | 316 KiB | ||||
| 84 | Accepted | 1ms | 316 KiB | ||||
| 85 | Accepted | 1ms | 316 KiB | ||||
| 86 | Accepted | 1ms | 316 KiB | ||||
| 87 | Wrong answer | 1ms | 316 KiB | ||||
| 88 | Accepted | 1ms | 316 KiB | ||||
| 89 | Wrong answer | 1ms | 316 KiB | ||||
| 90 | Accepted | 1ms | 316 KiB | ||||
| 91 | Accepted | 1ms | 316 KiB | ||||
| 92 | Wrong answer | 1ms | 316 KiB | ||||
| 93 | Accepted | 1ms | 536 KiB | ||||
| 94 | Accepted | 1ms | 508 KiB | ||||
| 95 | Wrong answer | 1ms | 316 KiB | ||||
| 96 | Accepted | 3ms | 316 KiB | ||||
| 97 | Accepted | 2ms | 316 KiB | ||||
| 98 | Accepted | 2ms | 316 KiB | ||||
| 99 | Accepted | 2ms | 316 KiB | ||||
| 100 | Wrong answer | 2ms | 316 KiB | ||||
| 101 | Accepted | 2ms | 316 KiB | ||||
| 102 | Accepted | 2ms | 508 KiB | ||||
| 103 | Wrong answer | 2ms | 508 KiB | ||||
| 104 | Accepted | 2ms | 316 KiB | ||||
| 105 | Wrong answer | 2ms | 316 KiB | ||||
| 106 | Wrong answer | 2ms | 316 KiB | ||||
| 107 | Accepted | 2ms | 316 KiB | ||||
| 108 | Wrong answer | 2ms | 316 KiB | ||||
| 109 | Wrong answer | 2ms | 316 KiB | ||||
| 110 | Accepted | 2ms | 472 KiB | ||||
| 111 | Accepted | 143ms | 13064 KiB | ||||
| 112 | Accepted | 142ms | 13364 KiB | ||||
| 113 | Accepted | 137ms | 13224 KiB | ||||
| 114 | Accepted | 146ms | 13364 KiB | ||||
| 115 | Wrong answer | 145ms | 13616 KiB | ||||
| 116 | Accepted | 148ms | 13620 KiB | ||||
| 117 | Wrong answer | 155ms | 13164 KiB | ||||
| 118 | Wrong answer | 146ms | 13620 KiB | ||||
| 119 | Wrong answer | 153ms | 13620 KiB | ||||
| 120 | Wrong answer | 158ms | 13364 KiB | ||||
| 121 | Wrong answer | 146ms | 13668 KiB | ||||