QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#388275#8544. Colorful Graph 2ucup-team987#TL 2002ms7144kbC++2012.3kb2024-04-13 14:24:182024-04-13 14:24:19

Judging History

你现在查看的是最新测评结果

  • [2024-04-13 14:24:19]
  • 评测
  • 测评结果:TL
  • 用时:2002ms
  • 内存:7144kb
  • [2024-04-13 14:24:18]
  • 提交

answer

/**
 * date   : 2024-04-13 15:24:08
 * author : Nyaan
 */

#define NDEBUG

using namespace std;

// intrinstic
#include <immintrin.h>

#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <cctype>
#include <cfenv>
#include <cfloat>
#include <chrono>
#include <cinttypes>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdarg>
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <fstream>
#include <functional>
#include <initializer_list>
#include <iomanip>
#include <ios>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <streambuf>
#include <string>
#include <tuple>
#include <type_traits>
#include <typeinfo>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

// utility

namespace Nyaan {
using ll = long long;
using i64 = long long;
using u64 = unsigned long long;
using i128 = __int128_t;
using u128 = __uint128_t;

template <typename T>
using V = vector<T>;
template <typename T>
using VV = vector<vector<T>>;
using vi = vector<int>;
using vl = vector<long long>;
using vd = V<double>;
using vs = V<string>;
using vvi = vector<vector<int>>;
using vvl = vector<vector<long long>>;
template <typename T>
using minpq = priority_queue<T, vector<T>, greater<T>>;

template <typename T, typename U>
struct P : pair<T, U> {
  template <typename... Args>
  P(Args... args) : pair<T, U>(args...) {}

  using pair<T, U>::first;
  using pair<T, U>::second;

  P &operator+=(const P &r) {
    first += r.first;
    second += r.second;
    return *this;
  }
  P &operator-=(const P &r) {
    first -= r.first;
    second -= r.second;
    return *this;
  }
  P &operator*=(const P &r) {
    first *= r.first;
    second *= r.second;
    return *this;
  }
  template <typename S>
  P &operator*=(const S &r) {
    first *= r, second *= r;
    return *this;
  }
  P operator+(const P &r) const { return P(*this) += r; }
  P operator-(const P &r) const { return P(*this) -= r; }
  P operator*(const P &r) const { return P(*this) *= r; }
  template <typename S>
  P operator*(const S &r) const {
    return P(*this) *= r;
  }
  P operator-() const { return P{-first, -second}; }
};

using pl = P<ll, ll>;
using pi = P<int, int>;
using vp = V<pl>;

constexpr int inf = 1001001001;
constexpr long long infLL = 4004004004004004004LL;

template <typename T>
int sz(const T &t) {
  return t.size();
}

template <typename T, typename U>
inline bool amin(T &x, U y) {
  return (y < x) ? (x = y, true) : false;
}
template <typename T, typename U>
inline bool amax(T &x, U y) {
  return (x < y) ? (x = y, true) : false;
}

template <typename T>
inline T Max(const vector<T> &v) {
  return *max_element(begin(v), end(v));
}
template <typename T>
inline T Min(const vector<T> &v) {
  return *min_element(begin(v), end(v));
}
template <typename T>
inline long long Sum(const vector<T> &v) {
  return accumulate(begin(v), end(v), 0LL);
}

template <typename T>
int lb(const vector<T> &v, const T &a) {
  return lower_bound(begin(v), end(v), a) - begin(v);
}
template <typename T>
int ub(const vector<T> &v, const T &a) {
  return upper_bound(begin(v), end(v), a) - begin(v);
}

constexpr long long TEN(int n) {
  long long ret = 1, x = 10;
  for (; n; x *= x, n >>= 1) ret *= (n & 1 ? x : 1);
  return ret;
}

template <typename T, typename U>
pair<T, U> mkp(const T &t, const U &u) {
  return make_pair(t, u);
}

template <typename T>
vector<T> mkrui(const vector<T> &v, bool rev = false) {
  vector<T> ret(v.size() + 1);
  if (rev) {
    for (int i = int(v.size()) - 1; i >= 0; i--) ret[i] = v[i] + ret[i + 1];
  } else {
    for (int i = 0; i < int(v.size()); i++) ret[i + 1] = ret[i] + v[i];
  }
  return ret;
};

template <typename T>
vector<T> mkuni(const vector<T> &v) {
  vector<T> ret(v);
  sort(ret.begin(), ret.end());
  ret.erase(unique(ret.begin(), ret.end()), ret.end());
  return ret;
}

template <typename F>
vector<int> mkord(int N, F f) {
  vector<int> ord(N);
  iota(begin(ord), end(ord), 0);
  sort(begin(ord), end(ord), f);
  return ord;
}

template <typename T>
vector<int> mkinv(vector<T> &v) {
  int max_val = *max_element(begin(v), end(v));
  vector<int> inv(max_val + 1, -1);
  for (int i = 0; i < (int)v.size(); i++) inv[v[i]] = i;
  return inv;
}

vector<int> mkiota(int n) {
  vector<int> ret(n);
  iota(begin(ret), end(ret), 0);
  return ret;
}

template <typename T>
T mkrev(const T &v) {
  T w{v};
  reverse(begin(w), end(w));
  return w;
}

template <typename T>
bool nxp(T &v) {
  return next_permutation(begin(v), end(v));
}

// 返り値の型は入力の T に依存
// i 要素目 : [0, a[i])
template <typename T>
vector<vector<T>> product(const vector<T> &a) {
  vector<vector<T>> ret;
  vector<T> v;
  auto dfs = [&](auto rc, int i) -> void {
    if (i == (int)a.size()) {
      ret.push_back(v);
      return;
    }
    for (int j = 0; j < a[i]; j++) v.push_back(j), rc(rc, i + 1), v.pop_back();
  };
  dfs(dfs, 0);
  return ret;
}

// F : function(void(T&)), mod を取る操作
// T : 整数型のときはオーバーフローに注意する
template <typename T>
T Power(T a, long long n, const T &I, const function<void(T &)> &f) {
  T res = I;
  for (; n; f(a = a * a), n >>= 1) {
    if (n & 1) f(res = res * a);
  }
  return res;
}
// T : 整数型のときはオーバーフローに注意する
template <typename T>
T Power(T a, long long n, const T &I = T{1}) {
  return Power(a, n, I, function<void(T &)>{[](T &) -> void {}});
}

template <typename T>
T Rev(const T &v) {
  T res = v;
  reverse(begin(res), end(res));
  return res;
}

template <typename T>
vector<T> Transpose(const vector<T> &v) {
  using U = typename T::value_type;
  int H = v.size(), W = v[0].size();
  vector res(W, T(H, U{}));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      res[j][i] = v[i][j];
    }
  }
  return res;
}

template <typename T>
vector<T> Rotate(const vector<T> &v, int clockwise = true) {
  using U = typename T::value_type;
  int H = v.size(), W = v[0].size();
  vector res(W, T(H, U{}));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (clockwise) {
        res[W - 1 - j][i] = v[i][j];
      } else {
        res[j][H - 1 - i] = v[i][j];
      }
    }
  }
  return res;
}

}  // namespace Nyaan


// bit operation

namespace Nyaan {
__attribute__((target("popcnt"))) inline int popcnt(const u64 &a) {
  return __builtin_popcountll(a);
}
inline int lsb(const u64 &a) { return a ? __builtin_ctzll(a) : 64; }
inline int ctz(const u64 &a) { return a ? __builtin_ctzll(a) : 64; }
inline int msb(const u64 &a) { return a ? 63 - __builtin_clzll(a) : -1; }
template <typename T>
inline int gbit(const T &a, int i) {
  return (a >> i) & 1;
}
template <typename T>
inline void sbit(T &a, int i, bool b) {
  if (gbit(a, i) != b) a ^= T(1) << i;
}
constexpr long long PW(int n) { return 1LL << n; }
constexpr long long MSK(int n) { return (1LL << n) - 1; }
}  // namespace Nyaan


// inout

namespace Nyaan {

template <typename T, typename U>
ostream &operator<<(ostream &os, const pair<T, U> &p) {
  os << p.first << " " << p.second;
  return os;
}
template <typename T, typename U>
istream &operator>>(istream &is, pair<T, U> &p) {
  is >> p.first >> p.second;
  return is;
}

template <typename T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  int s = (int)v.size();
  for (int i = 0; i < s; i++) os << (i ? " " : "") << v[i];
  return os;
}
template <typename T>
istream &operator>>(istream &is, vector<T> &v) {
  for (auto &x : v) is >> x;
  return is;
}

istream &operator>>(istream &is, __int128_t &x) {
  string S;
  is >> S;
  x = 0;
  int flag = 0;
  for (auto &c : S) {
    if (c == '-') {
      flag = true;
      continue;
    }
    x *= 10;
    x += c - '0';
  }
  if (flag) x = -x;
  return is;
}

istream &operator>>(istream &is, __uint128_t &x) {
  string S;
  is >> S;
  x = 0;
  for (auto &c : S) {
    x *= 10;
    x += c - '0';
  }
  return is;
}

ostream &operator<<(ostream &os, __int128_t x) {
  if (x == 0) return os << 0;
  if (x < 0) os << '-', x = -x;
  string S;
  while (x) S.push_back('0' + x % 10), x /= 10;
  reverse(begin(S), end(S));
  return os << S;
}
ostream &operator<<(ostream &os, __uint128_t x) {
  if (x == 0) return os << 0;
  string S;
  while (x) S.push_back('0' + x % 10), x /= 10;
  reverse(begin(S), end(S));
  return os << S;
}

void in() {}
template <typename T, class... U>
void in(T &t, U &...u) {
  cin >> t;
  in(u...);
}

void out() { cout << "\n"; }
template <typename T, class... U, char sep = ' '>
void out(const T &t, const U &...u) {
  cout << t;
  if (sizeof...(u)) cout << sep;
  out(u...);
}

struct IoSetupNya {
  IoSetupNya() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(15);
    cerr << fixed << setprecision(7);
  }
} iosetupnya;

}  // namespace Nyaan


// debug


#ifdef NyaanDebug
#define trc(...) (void(0))
#else
#define trc(...) (void(0))
#endif

#ifdef NyaanLocal
#define trc2(...) (void(0))
#else
#define trc2(...) (void(0))
#endif


// macro

#define each(x, v) for (auto&& x : v)
#define each2(x, y, v) for (auto&& [x, y] : v)
#define all(v) (v).begin(), (v).end()
#define rep(i, N) for (long long i = 0; i < (long long)(N); i++)
#define repr(i, N) for (long long i = (long long)(N)-1; i >= 0; i--)
#define rep1(i, N) for (long long i = 1; i <= (long long)(N); i++)
#define repr1(i, N) for (long long i = (N); (long long)(i) > 0; i--)
#define reg(i, a, b) for (long long i = (a); i < (b); i++)
#define regr(i, a, b) for (long long i = (b)-1; i >= (a); i--)
#define fi first
#define se second
#define ini(...)   \
  int __VA_ARGS__; \
  in(__VA_ARGS__)
#define inl(...)         \
  long long __VA_ARGS__; \
  in(__VA_ARGS__)
#define ins(...)      \
  string __VA_ARGS__; \
  in(__VA_ARGS__)
#define in2(s, t)                           \
  for (int i = 0; i < (int)s.size(); i++) { \
    in(s[i], t[i]);                         \
  }
#define in3(s, t, u)                        \
  for (int i = 0; i < (int)s.size(); i++) { \
    in(s[i], t[i], u[i]);                   \
  }
#define in4(s, t, u, v)                     \
  for (int i = 0; i < (int)s.size(); i++) { \
    in(s[i], t[i], u[i], v[i]);             \
  }
#define die(...)             \
  do {                       \
    Nyaan::out(__VA_ARGS__); \
    return;                  \
  } while (0)


namespace Nyaan {
void solve();
}
int main() { Nyaan::solve(); }


//

using namespace Nyaan;

void q() {
  ini(N, M);

  vvi g(N);
  set<pi> st;
  rep(i, N) {
    int j = (i + 1) % N;
    g[i].push_back(j);
    g[j].push_back(i);
    st.insert(make_pair(i, j));
    st.insert(make_pair(j, i));
  }
  {
    vl u(M), v(M);
    in2(u, v);
    rep(t, M) {
      int i = u[t], j = v[t];
      g[i].push_back(j);
      g[j].push_back(i);
      st.insert(make_pair(i, j));
      st.insert(make_pair(j, i));
    }
  }
  rep(i, N) sort(all(g[i]));

  vvi cv;
  while (sz(st)) {
    auto [u, v] = *begin(st);
    st.erase(begin(st));
    vi c{u};
    for (int i = u, j = v; j != u;) {
      c.push_back(j);
      int z = lb(g[j], i);
      int k = g[j][(z + 1) % sz(g[j])];
      i = j, j = k;
      st.erase(make_pair(i, j));
    }
    if (c[0] != 0 or c[1] != 1) cv.push_back(c);
  }
  trc(cv);

  map<pi, vi> related;
  rep(i, sz(cv)) {
    rep(j, sz(cv[i])) {
      int u = cv[i][j];
      int v = cv[i][(j + 1) % sz(cv[i])];
      related[minmax(u, v)].push_back(i);
    }
  }

  vi used(sz(cv));
  string ans(N, ' ');
  queue<int> Q;

  auto add = [&](int i) {
    if (!used[i]) used[i] = 1, Q.push(i);
  };
  add(0);

  while (sz(Q)) {
    int i = Q.front();
    Q.pop();

    int b = 0, r = 0;
    vi undefined;
    each(j, cv[i]) {
      if (ans[j] == 'B') b++;
      if (ans[j] == 'R') r++;
      if (ans[j] == ' ') undefined.push_back(j);
    }
    if (b) {
      each(j, undefined) ans[j] = 'R';
    }
    if (r) {
      each(j, undefined) ans[j] = 'B';
    }
    if (b == 0 and r == 0) {
      rep(k, sz(undefined)) {
        int j = undefined[k];
        ans[j] = k % 2 ? 'B' : 'R';
      }
    }

    rep(j, sz(cv[i])) {
      int u = cv[i][j];
      int v = cv[i][(j + 1) % sz(cv[i])];
      each(ii, related[minmax(u, v)]) add(ii);
    }
  }

  out(ans);
}

void Nyaan::solve() {
  int t = 1;
  in(t);
  while (t--) q();
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3528kb

input:

3
3 0
4 1
1 3
6 3
0 2
2 4
4 0

output:

RRB
RRBB
RRBRBB

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 442ms
memory: 3628kb

input:

100000
9 6
2 0
4 6
3 6
0 6
0 7
2 6
3 0
5 2
2 4
2 0
6 3
1 5
4 1
2 4
9 6
3 1
6 4
8 1
3 6
1 6
8 6
3 0
7 4
3 0
4 0
6 4
3 1
7 4
5 1
5 0
3 1
1 4
4 1
1 3
6 3
2 4
4 0
2 0
6 3
3 0
1 3
5 3
7 4
0 5
2 5
5 1
3 5
8 5
4 1
5 1
5 0
1 3
5 7
3 0
8 5
0 2
4 6
0 6
0 3
4 0
8 5
5 1
1 4
5 0
3 1
5 7
3 0
10 7
0 2
9 2
5 8
3 9
...

output:

RRBRBRBBB
RRB
RRBRB
RRBRBB
RRBBRBBRB
RRB
RRBBBRB
RRBBBBB
RRBB
RRBRBB
RRBBRB
RRBRBBB
RRBBBBRB
RRB
RRBBBRBB
RRBBBBRB
RRB
RRBRBBBBRB
RRBBRBBB
RRBRBRBBBB
RRBBRBBRBB
RRBBBRBRBB
RRB
RRBRBRB
RRBBBB
RRBBRBRB
RRBB
RRBRBBB
RRBBBBRBRB
RRBBBRB
RRBRBRBB
RRBBBB
RRBRBB
RRB
RRB
RRBBBBRBB
RRBRBRB
RRBBB
RRBRBBRBBB
RR...

result:

ok ok (100000 test cases)

Test #3:

score: 0
Accepted
time: 356ms
memory: 3688kb

input:

100000
8 4
5 3
5 1
6 1
3 1
7 4
5 0
4 1
4 0
3 1
4 0
8 1
4 7
3 0
3 0
8 1
1 3
3 0
9 4
6 0
3 0
3 1
5 0
7 0
6 2
4 2
0 4
7 3
0 3
0 4
1 3
5 1
3 0
10 4
6 8
5 2
1 5
5 3
5 1
1 4
3 0
9 3
5 0
8 6
6 0
3 0
5 2
1 3
1 4
9 0
6 1
4 2
8 1
1 3
5 0
8 2
3 1
6 1
5 1
3 0
8 3
3 0
7 4
7 5
7 2
5 3
1 3
10 3
8 0
0 3
8 5
9 4
3 0...

output:

RBBRBBRB
RRBBBBB
RBRB
RBRBRBBB
RRB
RRB
RRBBRBRB
RRB
RRBBBBBBB
RRBRBRB
RBRBBB
RRBBBBB
RBRBB
RBBBBRBBRB
RRBBB
RRB
RBRBRBBRB
RRB
RRBBB
RRBRBRBRB
RRBBRB
RRBBRBRB
RRBRB
RBRBBBRB
RBRBB
RBRBBRBB
RRBBBRB
RBRBBBRRBB
RBRBBRRBB
RRBBBRBRB
RBRBRB
RRBRBRB
RRB
RRBBBBBBRB
RRBBBB
RRBRBBBRB
RRBRB
RBBBRBRBRB
RRBRB
RRB...

result:

ok ok (100000 test cases)

Test #4:

score: 0
Accepted
time: 1556ms
memory: 3708kb

input:

19452
78 75
50 52
61 64
19 21
21 27
52 54
75 5
47 58
15 13
47 66
69 71
66 68
33 36
27 32
15 17
66 60
74 7
63 61
41 13
45 71
30 28
68 71
18 13
13 42
47 55
76 1
19 32
61 66
5 2
22 24
74 71
42 44
59 47
66 46
26 21
49 52
56 58
54 47
52 48
21 25
19 41
10 42
45 74
48 54
39 41
41 18
75 6
39 33
33 37
31 28
...

output:

RRBRBRBRBRBRBBRBRBRBBRBRBBBBBBRBRBBBRBBRBBRBBBRBRBRBBRBRBBRBRBBRBRBRBBBRBBBBBB
RRBBBBRBBRBBBRBRBRBRBBRBBBRBBBRBBRBBRBRBRBRBRBBBBBRBBBBBRBBRBRBBRBBRBBBBRBRBBBBBBRBBBBRB
RRBRBBRBBRBRBRBBRBRBBRBRBRBBBRBBRBBRBBBBRBBBBRBBBRBRBBRBRBBRBRBBRBRBBRBRBBRB
RRBBRBBBRBRBRBRBBBBBRBBRBRBBRBRBBBRBBBRBBBRBRBBRBRBBRBR...

result:

ok ok (19452 test cases)

Test #5:

score: 0
Accepted
time: 1066ms
memory: 3900kb

input:

19457
72 56
1 70
0 70
2 70
19 69
64 42
34 32
55 57
22 68
54 48
26 28
41 23
13 10
68 21
62 59
29 26
53 51
30 41
41 38
15 7
66 64
3 15
23 42
47 54
9 7
6 4
47 42
64 22
67 22
17 3
37 35
23 64
30 38
59 61
24 41
70 17
19 70
30 32
17 19
19 21
14 7
2 17
29 24
6 15
69 21
62 55
9 14
16 3
25 29
15 4
53 50
35 3...

output:

RRBBBRBBBRBRBRBRBRBBRBRBRBRBBBBRBRBBRBRBRBRBBBBBRBBRBBBBRBBBRBRRBRBBBRBB
RBBRBRBRBRBBRRRRRRBBRBBRBRBBBRBBBBBRBRBRBRB
RRBRBRBRBRBRBRBRBBBRBBBRBBBBBBBRRRRBBBBRRRRRRBRBBRRRRRRRRRRRRRRRRRRRBRBB
RBRBBRBBBRRRBRBBBBRBRRBRBBBBBBBRRRBBBRRBRRRRRRRRBBBBBBBRBBBRRBBBRBBRBRBBBRBBRBBBRBRRRRB
RBBRRBBBBRBBBRBRBBRBRR...

result:

ok ok (19457 test cases)

Test #6:

score: 0
Accepted
time: 1733ms
memory: 4344kb

input:

2011
404 401
326 324
85 82
297 38
198 201
196 205
299 8
206 188
326 329
280 277
378 5
155 153
367 360
282 277
378 6
375 377
315 317
92 81
227 229
174 176
141 145
276 272
218 216
43 45
205 188
163 221
205 193
223 226
307 317
387 383
23 33
52 50
199 201
367 358
394 396
177 179
170 167
104 102
263 265
...

output:

RRBBRBBRBBRBRBBBBRBBBBRBRBRBBRBBBRBRBBBRBBBRBBRBRBRBBBRBBBRBRBBRBRBBRBBBRBBBRBRBRBBRBRBBRBBBBRBBRBBBRBBBRBRBRBBRBRBBRBBBRBRBBBRBRBBBRBBRBBBBBRBRBBRBRBRBBRBBBBRBRBBRBRBBRBRBRBBBRBRBBRBRBBBRBRBBBBRBBRBBBRBBBRBBBBRBRBBBRBBBBBBRBRBBRBRBBRBRBBBBRBBRBRBRBBRBRBRBBRBBBRBBRBRBBBRBBBRBRBRBBRBBBBBBBRBBRBRBBRBB...

result:

ok ok (2011 test cases)

Test #7:

score: 0
Accepted
time: 1172ms
memory: 4300kb

input:

1958
908 775
369 374
638 644
308 310
686 758
596 593
432 410
730 732
556 476
356 354
711 742
149 144
582 609
714 716
895 667
831 837
37 10
17 13
880 882
453 457
266 269
297 301
577 113
114 576
115 166
716 727
130 163
708 745
337 317
250 303
712 714
893 668
344 351
319 322
276 264
107 109
567 466
415...

output:

RRBBBRRBBBRBRBBRRBRBRBRBBRBRBBBRBRRBRBBBRBRBBRRBBBBBRBBRBBRBBRBBRBRBBBRBBBRRBRBRBBBBBRBBBBBRBRBBRBBRBRRBBBRBBRBBRBRBBBBBBRBRBBBRBBRBBRBBRBRBBRBRBBRBBRBRBBBBBBRBRBBBBRBRBBRBBRBBRBRRBBRBBBBBBBRRBBBRBRBRRBRBRBRBBBRBBRBBBRBBBRBRBRBBRBBRBRBRBBBRBRBRBBRBRBRBRBBBBRBBBRRBBBRBBBBRBRBRBRBBRBBRBBRBRRBRBBBBRBBR...

result:

ok ok (1958 test cases)

Test #8:

score: 0
Accepted
time: 2002ms
memory: 7144kb

input:

204
1066 1063
466 462
569 566
239 241
125 134
418 422
147 142
99 103
380 305
100 103
589 585
336 315
126 134
176 1042
995 431
966 975
857 854
112 110
841 862
1018 1015
202 266
860 853
86 94
254 252
454 448
523 675
864 867
221 216
710 707
184 286
984 931
70 65
165 31
634 642
557 555
763 770
537 529
4...

output:

RRBBRBBRBBRBRBBRBRBBRBBRBBRBBRBRBBBRBBRBBRBRBRBBRBBRBRBRBRBBRBBBBBBRBRBRBRBRBRBRBBBRBBRBBRBRBRBBRBBRBBRBBRBBRBRBBRBBBRBBBRBBBBBBBBRBBBRBBBRBBRBBRBRBRBRBRBRBBRBRBBBRBBBRBRBRBRBRBBRBBBRBBBBRBRBRBRBRBRBRBBBBBBRBRBBBBRBBBBRBRBBRBRBRBBRBRBRBRBRBRBBRBRBBBRBRBBRBRBRBRBBBBBRBRBRBRBRBRBRBBRBBBRBRBBBBBRBBBRBR...

result:

ok ok (204 test cases)

Test #9:

score: 0
Accepted
time: 1319ms
memory: 6792kb

input:

203
2148 1719
1557 1562
1834 1826
661 646
1733 1747
668 670
1449 1497
256 254
1571 1569
1726 1701
142 135
1981 1979
1966 1992
2107 2104
1209 1196
752 895
2035 2033
621 618
3 6
2093 2110
437 479
641 643
566 519
640 628
626 678
1694 1726
1520 1522
1434 1430
1127 1130
2021 2014
1349 1347
378 383
1475 1...

output:

RRBBRRBBRBRRBBBRBBBBBRBRBBRRBBBBBBRBBBBRRBBBBBRBBRBRBRBRBRBBBRBBRBBBRBRBRBBBBBRBBRBBBRBRRBRBRRRBBRBBBBRBBRBRBBRBBRBBRBBRBRBBBBRBRBRBBRRBRBRBBRBBRBBBBRBRBBRRBBRBRBRBBBRBBBBRBBRBRBBBRBRRBRBRBBRBBBBRBBRRBRBBBRBBBRRBRBRBBBRBBRBBBBRBBBRBRBBBRBRBBRBBRBBBBBBBBRRBRBBBRRBRRBBRBBRBBBBRBBRBBRBBRBBBRBRBBBRBBRBR...

result:

ok ok (203 test cases)

Test #10:

score: -100
Time Limit Exceeded

input:

28
75972 75969
72982 72984
57195 57198
62938 62906
8473 8556
37842 37858
33380 33354
1503 1501
6490 6468
3231 3212
66806 66785
66178 66191
16644 16646
28283 28285
7797 7805
27304 50764
62274 62338
70175 70182
37760 37762
10872 10845
2554 2552
22131 22129
25754 25685
30543 30473
48058 48056
49029 490...

output:

RRBBBRBRBRBBBBRBRBBRBBBRBRBBBBRBRBBRBRBBRBRBBBRBRBBBRBRBBRBBRBRBRBBRBBRBRBBBBRBBBBRBRBBRBBRBRBBBRBBBBRBBBBBBRBRBBRBRBBBRBBBBBRBBBBBRBRBBRBRBBRBBRBBRBRBBBRBRBRBRBBBRBBBRBBBBRBBRBRBRBRBRBBRBBBBBRBRBRBBBBRBBRBBBRBBBBBRBRBRBBRBRBBBBRBRBBRBBRBBBBBBBRBRBBRBBBBRBRBBRBBRBBBRBBBBRBRBRBRBRBRBBRBRBBBBRBBBRBRBB...

result: