// 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";
}
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 178ms | 15772 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 180ms | 21812 KiB | ||||
| 4 | Accepted | 180ms | 21656 KiB | ||||
| subtask3 | 0/7 | ||||||
| 5 | Accepted | 180ms | 21812 KiB | ||||
| 6 | Accepted | 180ms | 21656 KiB | ||||
| 7 | Wrong answer | 216ms | 21896 KiB | ||||
| 8 | Wrong answer | 206ms | 22172 KiB | ||||
| 9 | Runtime error | 194ms | 15924 KiB | ||||
| 10 | Runtime error | 200ms | 18996 KiB | ||||
| subtask4 | 0/20 | ||||||
| 11 | Wrong answer | 237ms | 15924 KiB | ||||
| 12 | Wrong answer | 229ms | 14132 KiB | ||||
| 13 | Accepted | 210ms | 15156 KiB | ||||
| 14 | Accepted | 210ms | 15388 KiB | ||||
| 15 | Accepted | 199ms | 14900 KiB | ||||
| 16 | Runtime error | 195ms | 18992 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 | 564 KiB | ||||
| 22 | Accepted | 1ms | 508 KiB | ||||
| 23 | Accepted | 1ms | 400 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 | 400 KiB | ||||
| 29 | Accepted | 1ms | 316 KiB | ||||
| 30 | Wrong answer | 1ms | 316 KiB | ||||
| 31 | Accepted | 1ms | 316 KiB | ||||
| 32 | Accepted | 1ms | 316 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 | 564 KiB | ||||
| 39 | Accepted | 1ms | 508 KiB | ||||
| 40 | Accepted | 1ms | 400 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 | 400 KiB | ||||
| 46 | Accepted | 1ms | 316 KiB | ||||
| 47 | Wrong answer | 1ms | 316 KiB | ||||
| 48 | Accepted | 1ms | 316 KiB | ||||
| 49 | Accepted | 1ms | 316 KiB | ||||
| 50 | Wrong answer | 1ms | 316 KiB | ||||
| 51 | Accepted | 3ms | 480 KiB | ||||
| 52 | Accepted | 4ms | 528 KiB | ||||
| 53 | Accepted | 4ms | 316 KiB | ||||
| 54 | Accepted | 4ms | 316 KiB | ||||
| 55 | Wrong answer | 3ms | 564 KiB | ||||
| 56 | Accepted | 3ms | 316 KiB | ||||
| 57 | Accepted | 2ms | 316 KiB | ||||
| 58 | Wrong answer | 3ms | 316 KiB | ||||
| 59 | Accepted | 3ms | 316 KiB | ||||
| 60 | Wrong answer | 2ms | 512 KiB | ||||
| 61 | Wrong answer | 2ms | 420 KiB | ||||
| 62 | Accepted | 2ms | 472 KiB | ||||
| 63 | Wrong answer | 3ms | 516 KiB | ||||
| 64 | Wrong answer | 3ms | 564 KiB | ||||
| 65 | Accepted | 2ms | 316 KiB | ||||
| subtask7 | 0/35 | ||||||
| 66 | Accepted | 1ms | 316 KiB | ||||
| 67 | Wrong answer | 180ms | 13876 KiB | ||||
| 68 | Accepted | 180ms | 21812 KiB | ||||
| 69 | Accepted | 180ms | 21656 KiB | ||||
| 70 | Wrong answer | 216ms | 21896 KiB | ||||
| 71 | Wrong answer | 206ms | 22172 KiB | ||||
| 72 | Runtime error | 194ms | 15924 KiB | ||||
| 73 | Runtime error | 200ms | 18996 KiB | ||||
| 74 | Wrong answer | 237ms | 15924 KiB | ||||
| 75 | Wrong answer | 229ms | 14132 KiB | ||||
| 76 | Accepted | 210ms | 15156 KiB | ||||
| 77 | Accepted | 210ms | 15388 KiB | ||||
| 78 | Accepted | 199ms | 14900 KiB | ||||
| 79 | Runtime error | 195ms | 18992 KiB | ||||
| 80 | Accepted | 1ms | 316 KiB | ||||
| 81 | Accepted | 1ms | 316 KiB | ||||
| 82 | Accepted | 1ms | 508 KiB | ||||
| 83 | Wrong answer | 1ms | 564 KiB | ||||
| 84 | Accepted | 1ms | 508 KiB | ||||
| 85 | Accepted | 1ms | 400 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 | 400 KiB | ||||
| 91 | Accepted | 1ms | 316 KiB | ||||
| 92 | Wrong answer | 1ms | 316 KiB | ||||
| 93 | Accepted | 1ms | 316 KiB | ||||
| 94 | Accepted | 1ms | 316 KiB | ||||
| 95 | Wrong answer | 1ms | 316 KiB | ||||
| 96 | Accepted | 3ms | 480 KiB | ||||
| 97 | Accepted | 4ms | 528 KiB | ||||
| 98 | Accepted | 4ms | 316 KiB | ||||
| 99 | Accepted | 4ms | 316 KiB | ||||
| 100 | Wrong answer | 3ms | 564 KiB | ||||
| 101 | Accepted | 3ms | 316 KiB | ||||
| 102 | Accepted | 2ms | 316 KiB | ||||
| 103 | Wrong answer | 3ms | 316 KiB | ||||
| 104 | Accepted | 3ms | 316 KiB | ||||
| 105 | Wrong answer | 2ms | 512 KiB | ||||
| 106 | Wrong answer | 2ms | 420 KiB | ||||
| 107 | Accepted | 2ms | 472 KiB | ||||
| 108 | Wrong answer | 3ms | 516 KiB | ||||
| 109 | Wrong answer | 3ms | 564 KiB | ||||
| 110 | Accepted | 2ms | 316 KiB | ||||
| 111 | Accepted | 158ms | 15004 KiB | ||||
| 112 | Accepted | 160ms | 15156 KiB | ||||
| 113 | Accepted | 155ms | 15152 KiB | ||||
| 114 | Accepted | 159ms | 15408 KiB | ||||
| 115 | Wrong answer | 167ms | 15664 KiB | ||||
| 116 | Accepted | 170ms | 15496 KiB | ||||
| 117 | Wrong answer | 167ms | 15156 KiB | ||||
| 118 | Wrong answer | 165ms | 15404 KiB | ||||
| 119 | Wrong answer | 172ms | 15672 KiB | ||||
| 120 | Wrong answer | 175ms | 15412 KiB | ||||
| 121 | Wrong answer | 164ms | 15636 KiB | ||||