이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif
const int N = 1e5 + 5;
int n, m, p;
int low[N], num[N], lab[N], a[N], ind[N];
vector<int> g[N];
vector<array<int, 2>> tr[N];
int timer;
vector<int> st;
void dfs(int u, int p) {
  low[u] = num[u] = ++timer;
  st.push_back(u);
  bool rep = 0;
  for (int v : g[u]) {
    if (v == p && !rep) {
      rep = 1;
      continue;
    } 
    if (!low[v]) {
      dfs(v, u);
      low[u] = min(low[u], low[v]);
    } else {
      low[u] = min(low[u], num[v]);
    }
  }
  if (low[u] == num[u]) {
    while (1) {
      int v = st.back(); st.pop_back();
      lab[v] = u;
      if (v == u) {
        break;
      }
    }
  }
}
void DFS(int u, int p) {
  for (auto [v, id] : tr[u]) {
    if (v ^ p) {
      ind[v] = id;
      DFS(v, u);
      a[u] += a[v];
    }
  }
}
int main() {
  ios::sync_with_stdio(false); cin.tie(nullptr);
  cin >> n >> m;
  string res(m, 'B');
  vector<array<int, 2>> e(m);
  for (int i = 0; i < m; ++i) {
    int u, v; cin >> u >> v;
    e[i] = {u, v};
    g[u].push_back(v);
    g[v].push_back(u);
  }  
  for (int i = 1; i <= n; ++i) {
    if (!num[i]) {
      dfs(i, i);
    }
  }
  for (int i = 0; i < m; ++i) {
    auto [u, v] = e[i];
    tie(u, v) = tie(lab[u], lab[v]);
    if (u ^ v) {
      tr[u].push_back({v, -1 - i});
      tr[v].push_back({u, i + 1});
    }
  }
  cin >> p;
  while (p--) {
    int x, y; cin >> x >> y;
    ++a[lab[x]], --a[lab[y]];
  }
  for (int i = 1; i <= n; ++i) {
    if (!ind[i]) {
      DFS(i, i);
    }
  }
  for (int i = 2; i <= n; ++i) {
    if (a[i]) {
      bool r = (a[i] > 0) ^ (ind[i] < 0);
      int id = abs(ind[i]) - 1;
      res[id] = r ? 'R' : 'L';
    }
  }
  cout << res;
  return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |