QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#173981#7179. Fischer's Chess Guessing Gameucup-team180#AC ✓109ms6896kbC++1710.7kb2023-09-10 03:19:062023-09-10 03:19:07

Judging History

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

  • [2023-09-10 03:19:07]
  • 评测
  • 测评结果:AC
  • 用时:109ms
  • 内存:6896kb
  • [2023-09-10 03:19:06]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
using ull = unsigned long long;
typedef pair<ll, ll> pll;
typedef vector<ll> vll;
typedef vector<pll> vpll;
template <class T> using pqmin = priority_queue<T, vector<T>, greater<T>>;
template <class T> using pqmax = priority_queue<T>;
const ll inf = LLONG_MAX / 3;
const ll dx[] = {0, 1, 0, -1, 1, -1, 1, -1};
const ll dy[] = {1, 0, -1, 0, 1, 1, -1, -1};
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define si(x) ll(x.size())
#define rep(i, n) for(ll i = 0; i < n; i++)
#define per(i, n) for(ll i = n - 1; i >= 0; i--)
#define rng(i, l, r) for(ll i = l; i < r; i++)
#define gnr(i, l, r) for(ll i = r - 1; i >= l; i--)
#define fore(i, a) for(auto &&i : a)
#define fore2(a, b, v) for(auto &&[a, b] : v)
#define fore3(a, b, c, v) for(auto &&[a, b, c] : v)
template <class T> bool chmin(T &a, const T &b) {
    if(a <= b) return 0;
    a = b;
    return 1;
}
template <class T> bool chmax(T &a, const T &b) {
    if(a >= b) return 0;
    a = b;
    return 1;
}
template <class T, class U> bool chmin(T &a, const U &b) { return chmin(a, (T)b); }
template <class T, class U> bool chmax(T &a, const U &b) { return chmax(a, (T)b); }
#define LL(...)                                                                                                                                                \
    ll __VA_ARGS__;                                                                                                                                            \
    in(__VA_ARGS__)
#define STR(...)                                                                                                                                               \
    string __VA_ARGS__;                                                                                                                                        \
    in(__VA_ARGS__)
#define CHR(...)                                                                                                                                               \
    char __VA_ARGS__;                                                                                                                                          \
    in(__VA_ARGS__)
#define vec(type, name, ...) vector<type> name(__VA_ARGS__)
#define VEC(type, name, size)                                                                                                                                  \
    vector<type> name(size);                                                                                                                                   \
    in(name)
#define VLL(name, size)                                                                                                                                        \
    vector<ll> name(size);                                                                                                                                     \
    in(name)
#define vv(type, name, h, ...) vector<vector<type>> name(h, vector<type>(__VA_ARGS__))
#define VV(type, name, h, w)                                                                                                                                   \
    vector<vector<type>> name(h, vector<type>(w));                                                                                                             \
    in(name)
#define vvv(type, name, h, w, ...) vector<vector<vector<type>>> name(h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
#define SUM(...) accumulate(all(__VA_ARGS__), 0LL)
template <class T> auto min(const T &a) { return *min_element(all(a)); }
template <class T> auto max(const T &a) { return *max_element(all(a)); }
template <class T, class F = less<>> void sor(T &a, F b = F{}) { sort(all(a), b); }
template <class T> void uniq(T &a) {
    sor(a);
    a.erase(unique(all(a)), end(a));
}
void outb(bool x) { cout << (x ? "Yes" : "No") << "\n"; }
ll max(int x, ll y) { return max((ll)x, y); }
ll max(ll x, int y) { return max(x, (ll)y); }
int min(int x, ll y) { return min((ll)x, y); }
int min(ll x, int y) { return min(x, (ll)y); }
#define lb(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define lbg(c, x) distance((c).begin(), lower_bound(all(c), (x), greater{}))
#define ub(c, x) distance((c).begin(), upper_bound(all(c), (x)))
#define ubg(c, x) distance((c).begin(), upper_bound(all(c), (x), greater{}))
ll gcd(ll a, ll b) { return (b ? gcd(b, a % b) : a); }
vector<pll> factor(ull x) {
    vector<pll> ans;
    for(ull i = 2; i * i <= x; i++)
        if(x % i == 0) {
            ans.push_back({i, 1});
            while((x /= i) % i == 0) ans.back().second++;
        }
    if(x != 1) ans.push_back({x, 1});
    return ans;
}
vector<ll> divisor(ull x) {
    vector<ll> ans;
    for(ull i = 1; i * i <= x; i++)
        if(x % i == 0) ans.push_back(i);
    per(i, ans.size() - (ans.back() * ans.back() == x)) ans.push_back(x / ans[i]);
    return ans;
}
vll prime_table(ll n) {
    vec(ll, isp, n + 1, 1);
    vll res;
    rng(i, 2, n + 1) if(isp[i]) {
        res.pb(i);
        for(ll j = i * i; j <= n; j += i) isp[j] = 0;
    }
    return res;
}

template <class T, class S> pair<T, S> operator-(const pair<T, S> &x) { return pair<T, S>(-x.first, -x.second); }
template <class T, class S> pair<T, S> operator-(const pair<T, S> &x, const pair<T, S> &y) { return pair<T, S>(x.fi - y.fi, x.se - y.se); }
template <class T, class S> pair<T, S> operator+(const pair<T, S> &x, const pair<T, S> &y) { return pair<T, S>(x.fi + y.fi, x.se + y.se); }
template <class T> pair<T, T> operator&(const pair<T, T> &l, const pair<T, T> &r) { return pair<T, T>(max(l.fi, r.fi), min(l.se, r.se)); }
template <class T, class S> pair<T, S> operator+=(pair<T, S> &l, const pair<T, S> &r) { return l = l + r; }
template <class T, class S> pair<T, S> operator-=(pair<T, S> &l, const pair<T, S> &r) { return l = l - r; }
template <class T> bool intersect(const pair<T, T> &l, const pair<T, T> &r) { return (l.se < r.se ? r.fi < l.se : l.fi < r.se); }

template <class T> vector<T> &operator++(vector<T> &v) {
    fore(e, v) e++;
    return v;
}
template <class T> vector<T> operator++(vector<T> &v, int) {
    auto res = v;
    fore(e, v) e++;
    return res;
}
template <class T> vector<T> &operator--(vector<T> &v) {
    fore(e, v) e--;
    return v;
}
template <class T> vector<T> operator--(vector<T> &v, int) {
    auto res = v;
    fore(e, v) e--;
    return res;
}
template <class T> vector<T> &operator+=(vector<T> &l, const vector<T> &r) {
    fore(e, r) l.eb(e);
    return l;
}

template <class... Ts> void in(Ts &...t);
[[maybe_unused]] void print() {}
template <class T, class... Ts> void print(const T &t, const Ts &...ts);
template <class... Ts> void out(const Ts &...ts) {
    print(ts...);
    cout << '\n';
}
namespace IO {
#define VOID(a) decltype(void(a))
struct S {
    S() {
        cin.tie(nullptr)->sync_with_stdio(0);
        fixed(cout).precision(12);
    }
} S;
template <int I> struct P : P<I - 1> {};
template <> struct P<0> {};
template <class T> void i(T &t) { i(t, P<3>{}); }
void i(vector<bool>::reference t, P<3>) {
    int a;
    i(a);
    t = a;
}
template <class T> auto i(T &t, P<2>) -> VOID(cin >> t) { cin >> t; }
template <class T> auto i(T &t, P<1>) -> VOID(begin(t)) {
    for(auto &&x : t) i(x);
}
template <class T, size_t... idx> void ituple(T &t, index_sequence<idx...>) { in(get<idx>(t)...); }
template <class T> auto i(T &t, P<0>) -> VOID(tuple_size<T>{}) { ituple(t, make_index_sequence<tuple_size<T>::value>{}); }
template <class T> void o(const T &t) { o(t, P<4>{}); }
template <size_t N> void o(const char (&t)[N], P<4>) { cout << t; }
template <class T, size_t N> void o(const T (&t)[N], P<3>) {
    o(t[0]);
    for(size_t i = 1; i < N; i++) {
        o(' ');
        o(t[i]);
    }
}
template <class T> auto o(const T &t, P<2>) -> VOID(cout << t) { cout << t; }
template <class T> auto o(const T &t, P<1>) -> VOID(begin(t)) {
    bool first = 1;
    for(auto &&x : t) {
        if(first)
            first = 0;
        else
            o(' ');
        o(x);
    }
}
template <class T, size_t... idx> void otuple(const T &t, index_sequence<idx...>) { print(get<idx>(t)...); }
template <class T> auto o(T &t, P<0>) -> VOID(tuple_size<T>{}) { otuple(t, make_index_sequence<tuple_size<T>::value>{}); }
#undef VOID
} // namespace IO
#define unpack(a)                                                                                                                                              \
    (void)initializer_list<int> { (a, 0)... }
template <class... Ts> void in(Ts &...t) { unpack(IO::i(t)); }
template <class T, class... Ts> void print(const T &t, const Ts &...ts) {
    IO::o(t);
    unpack(IO::o((cout << ' ', ts)));
}
#undef unpack

int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    string s = "KQRRBBNN";
    sor(s);
    vector<string> v;
    do {
        bool ok = 1;
        {
            ll k;
            rep(i, si(s)) if(s[i] == 'K') k = i;
            {
                bool th = 0;
                rep(i, k) th |= s[i] == 'R';
                ok &= th;
            }
            {
                bool th = 0;
                rng(i, k, si(s)) th |= s[i] == 'R';
                ok &= th;
            }
        }
        {
            vll b;
            rep(i, si(s)) {
                if(s[i] == 'B') { b.pb(i % 2); }
            }
            ok &= b[0] != b[1];
        }
        if(ok) v.pb(s);
    } while(next_permutation(all(s)));
    auto overlap = [&](string &x, string &y) {
        ll cnt = 0;
        rep(i, si(x)) cnt += x[i] == y[i];
        return cnt;
    };

    vector<vector<int>> C(si(v), vector<int>(si(v)));
    rep(i, si(v)) rep(j, si(v)) C[i][j] = overlap(v[i], v[j]);

    vec(int, cnt, 9, 0);
    while(1) {
        STR(types);
        if(types == "END") break;
        LL(gamenum);

        vector<int> w;
        rep(i, si(v)) w.eb(i);

        rep(_, 6) {
            ll mi = inf, pt = -1;
            rep(j, si(v)) {
                rep(i, 9) cnt[i] = 0;
                for(auto k : w) cnt[C[j][k]]++;
                int val = *max_element(all(cnt));
                if(mi > val) {
                    mi = val;
                    pt = j;
                }
            }
            if(_ == 5) pt = w[0];
            cout << v[pt] << endl;
            LL(val);
            if(_ == 5 and val < 8) exit(0);
            if(val == 8) break;
            vector<int> nxt;
            for(auto k : w)
                if(val == C[pt][k]) nxt.pb(k);
            swap(w, nxt);
        }
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 10ms
memory: 6828kb

input:

GAME 1
1
0
2
4
0
8
END

output:

NRBBNKQR
BRNNKBQR
NBRKNQBR
QBRKBRNN
BBNNQRKR
RKRBBQNN

result:

ok (c) correct after 1 tests, max moves 6 (1 test case)

Test #2:

score: 0
Accepted
time: 105ms
memory: 6668kb

input:

GAME 1
1
0
2
4
0
8
GAME 2
2
3
3
1
1
8
GAME 3
1
0
1
2
0
8
GAME 4
1
0
2
2
1
8
GAME 5
2
3
4
2
0
8
GAME 6
2
2
4
0
0
8
GAME 7
0
2
3
2
0
8
GAME 8
1
3
3
0
1
8
GAME 9
0
3
3
0
1
8
GAME 10
0
3
3
1
0
8
GAME 11
0
5
1
0
1
8
GAME 12
1
2
2
1
0
8
GAME 13
1
1
5
1
0
8
GAME 14
0
4
4
3
2
8
GAME 15
1
2
1
2
1
8
GAME 16
1...

output:

NRBBNKQR
BRNNKBQR
NBRKNQBR
QBRKBRNN
BBNNQRKR
RKRBBQNN
NRBBNKQR
RNBBQKRN
RQKBNNBR
BBRNNQKR
BBNNRKQR
RKRBBNQN
NRBBNKQR
BRNNKBQR
NBRKNQBR
BNRKQRNB
BBNNQRKR
RKRBBNNQ
NRBBNKQR
BRNNKBQR
NBRKNQBR
QBRKBRNN
BBNNQRKR
RKRBQNBN
NRBBNKQR
RNBBQKRN
RQKBNNBR
QNRBBKNR
BBNNQRKR
RKRBNQBN
NRBBNKQR
RNBBQKRN
QNRBKNBR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #3:

score: 0
Accepted
time: 102ms
memory: 6752kb

input:

GAME 1
2
2
3
1
2
8
GAME 2
2
2
2
5
2
8
GAME 3
3
1
4
2
2
8
GAME 4
3
1
3
1
1
8
GAME 5
2
3
5
2
3
8
GAME 6
3
1
3
0
2
8
GAME 7
1
3
5
1
2
8
GAME 8
1
3
3
4
2
8
GAME 9
2
1
3
2
3
8
GAME 10
2
1
0
0
4
8
GAME 11
2
1
1
3
2
8
GAME 12
1
4
3
4
4
8
GAME 13
0
2
2
3
1
8
GAME 14
1
1
2
2
2
8
GAME 15
0
1
0
1
1
8
GAME 16
0...

output:

NRBBNKQR
RNBBQKRN
QNRBKNBR
BNNQRBKR
BBQNNRKR
RKQBBNNR
NRBBNKQR
RNBBQKRN
QNRBKNBR
RBNNBQKR
BBNNQRKR
RKNBBQNR
NRBBNKQR
RBBNQKRN
BQNBRNKR
BRKRNNQB
BBNNQRKR
RKNBBNQR
NRBBNKQR
RBBNQKRN
BQNBRNKR
BBRNKNRQ
BBNNRKQR
RKQBNNBR
NRBBNKQR
RNBBQKRN
RQKBNNBR
BBNNRKQR
BBNNQRKR
RKNBQNBR
NRBBNKQR
RBBNQKRN
BQNBRNKR
BBR...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #4:

score: 0
Accepted
time: 105ms
memory: 6644kb

input:

GAME 1
1
2
1
4
0
8
GAME 2
3
1
0
1
0
8
GAME 3
2
0
3
0
0
8
GAME 4
1
1
0
1
0
8
GAME 5
2
0
4
0
0
8
GAME 6
3
0
1
0
0
8
GAME 7
2
1
1
0
0
8
GAME 8
2
2
1
1
0
8
GAME 9
3
0
0
6
0
8
GAME 10
2
0
4
1
0
8
GAME 11
2
1
3
1
1
8
GAME 12
3
0
0
4
0
8
GAME 13
2
2
1
1
2
8
GAME 14
3
1
4
5
1
8
GAME 15
2
1
1
3
1
8
GAME 16
1...

output:

NRBBNKQR
BRNNKBQR
BNRBKRQN
BRKQNBNR
BBNNQRKR
QRKRBBNN
NRBBNKQR
RBBNQKRN
BQNBRNKR
BNQRKRNB
BBNNQRKR
NRKRBBQN
NRBBNKQR
RNBBQKRN
BRKQNRNB
BBQNNRKR
BBNNQRKR
NRKRBBNQ
NRBBNKQR
BRNNKBQR
RKQNRBBN
BBRKNNRQ
BBNNQRKR
QRKRBNNB
NRBBNKQR
RNBBQKRN
BRKQNRNB
BBNQRNKR
BBNNQRKR
NRKRBQNB
NRBBNKQR
RBBNQKRN
BNRBQNKR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #5:

score: 0
Accepted
time: 109ms
memory: 6896kb

input:

GAME 1
0
4
5
2
1
8
GAME 2
0
3
0
2
0
8
GAME 3
0
4
5
3
1
8
GAME 4
0
5
1
3
1
8
GAME 5
0
4
4
2
0
8
GAME 6
0
6
4
1
1
8
GAME 7
1
0
2
5
3
8
GAME 8
3
4
1
3
2
8
GAME 9
2
2
0
0
2
8
GAME 10
0
1
0
2
2
8
GAME 11
1
2
3
1
3
8
GAME 12
0
2
4
0
3
8
GAME 13
1
0
4
2
1
8
GAME 14
0
3
1
1
4
8
GAME 15
1
1
2
1
3
8
GAME 16
2...

output:

NRBBNKQR
RKNNRQBB
QNRKRBBN
BBNNRKRQ
BBNNQRKR
RQNKRBBN
NRBBNKQR
RKNNRQBB
BQRNKRNB
NRKQRNBB
BBNNQRKR
RNQKRBBN
NRBBNKQR
RKNNRQBB
QNRKRBBN
BBNNRKRQ
BBNNQRKR
RNNKRBBQ
NRBBNKQR
RKNNRQBB
BBNRKQRN
BBNQRNKR
BBNNQRKR
RQNKRNBB
NRBBNKQR
RKNNRQBB
QNRKRBBN
BBRKQNRN
BBNNQRKR
RNQKRNBB
NRBBNKQR
RKNNRQBB
BNNRKQRB
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #6:

score: 0
Accepted
time: 93ms
memory: 6776kb

input:

GAME 1
3
3
1
2
0
8
GAME 2
3
4
0
0
1
8
GAME 3
4
3
1
0
0
8
GAME 4
3
2
0
3
0
8
GAME 5
3
3
0
2
1
8
GAME 6
4
2
0
1
0
8
GAME 7
1
3
1
1
1
8
GAME 8
2
2
0
4
0
8
GAME 9
2
1
5
1
1
8
GAME 10
1
2
0
2
1
8
GAME 11
2
1
5
0
0
8
GAME 12
2
1
6
2
1
8
GAME 13
3
0
2
3
2
8
GAME 14
2
1
3
5
4
8
GAME 15
4
2
4
4
3
8
GAME 16
4...

output:

NRBBNKQR
RBBNQKRN
BBQRNKNR
BBNRQKRN
BBNNRKQR
QRBKNBRN
NRBBNKQR
RBBNQKRN
BBNNRQKR
BBNQRKNR
BBNNQRKR
NRBKQBRN
NRBBNKQR
BNRBNKRQ
BNNRQBKR
BNRBQKNR
BBNNQRKR
NRBKNBRQ
NRBBNKQR
RBBNQKRN
BBNQRKNR
BQRKNRNB
BBNNQRKR
QRBKNNRB
NRBBNKQR
RBBNQKRN
BBQRNKNR
BBRNKNRQ
BBNNQRKR
NRBKQNRB
NRBBNKQR
BNRBNKRQ
BBNNRKQR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #7:

score: 0
Accepted
time: 101ms
memory: 6788kb

input:

GAME 1
1
1
2
2
1
8
GAME 2
2
3
1
1
3
8
GAME 3
1
2
2
3
2
8
GAME 4
0
3
3
3
3
8
GAME 5
0
3
2
1
3
8
GAME 6
0
4
1
4
4
8
GAME 7
2
4
2
0
1
8
GAME 8
3
3
0
1
1
8
GAME 9
2
4
3
2
1
8
GAME 10
1
2
2
1
1
8
GAME 11
1
1
1
8
GAME 12
2
3
1
0
2
8
GAME 13
1
2
4
3
2
8
GAME 14
1
1
4
1
1
8
GAME 15
1
2
4
4
2
8
GAME 16
0
5
2...

output:

NRBBNKQR
BRNNKBQR
RKQNRBBN
BBRNQKRN
BBNNRKQR
RBBQKRNN
NRBBNKQR
RNBBQKRN
RQKBNNBR
BBNRNKRQ
BBNNQRKR
RBBNKRQN
NRBBNKQR
BRNNKBQR
BNRBKRQN
BBNNRKRQ
BBNQNRKR
RBBNKRNQ
NRBBNKQR
RKNNRQBB
BQRNKRNB
NQNRKRBB
BBNNQRKR
RBQNKRBN
NRBBNKQR
RKNNRQBB
BQRNKRNB
QRNKBNRB
BBNNQRKR
RBNQKRBN
NRBBNKQR
RKNNRQBB
QNRKRBBN
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #8:

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

input:

GAME 1
3
0
3
3
2
8
GAME 2
4
1
2
2
1
8
GAME 3
4
1
2
4
2
8
GAME 4
2
0
1
2
3
8
GAME 5
3
1
1
2
2
8
GAME 6
3
0
1
3
3
8
GAME 7
0
0
6
3
3
8
GAME 8
1
4
1
5
4
8
GAME 9
0
1
4
4
4
8
GAME 10
1
2
6
2
2
8
GAME 11
2
3
1
1
2
8
GAME 12
1
2
6
1
2
8
GAME 13
0
2
0
3
3
8
GAME 14
0
1
5
2
2
8
GAME 15
1
4
2
3
3
8
GAME 16
0...

output:

NRBBNKQR
RBBNQKRN
BNRBQNKR
BQNBNRKR
BBNNQRKR
QRNBKNBR
NRBBNKQR
BNRBNKRQ
NQBRNBKR
BBNRKQNR
BBNNQRKR
NRQBKNBR
NRBBNKQR
BNRBNKRQ
NQBRNBKR
BBNRKQNR
BBNNQRKR
NRNBKQBR
NRBBNKQR
RNBBQKRN
BRKQNRNB
BBRQKNNR
BBNNQRKR
QRNNKBBR
NRBBNKQR
RBBNQKRN
BQNBRNKR
BBRNNQKR
BBNNQRKR
NRQNKBBR
NRBBNKQR
RBBNQKRN
BNRBQNKR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #9:

score: 0
Accepted
time: 88ms
memory: 6848kb

input:

GAME 1
2
1
0
3
2
8
GAME 2
3
2
3
2
2
8
GAME 3
4
0
1
3
2
8
GAME 4
1
3
3
3
3
8
GAME 5
2
0
0
2
2
8
GAME 6
2
0
0
2
3
8
GAME 7
2
2
4
1
1
8
GAME 8
3
1
2
3
1
8
GAME 9
4
1
5
1
1
8
GAME 10
1
4
4
2
2
8
GAME 11
2
0
0
4
2
8
GAME 12
2
1
1
1
2
8
GAME 13
3
6
1
2
1
8
GAME 14
2
6
3
3
3
8
GAME 15
3
6
2
3
2
8
GAME 16
1...

output:

NRBBNKQR
RNBBQKRN
NRNKBRQB
BBRKRNNQ
BBNNQRKR
QBBRKNNR
NRBBNKQR
RBBNQKRN
BBNQRKNR
BBNRQKRN
BBNNQRKR
NBBRKQNR
NRBBNKQR
BNRBNKRQ
BRNKQBNR
BBNNRKQR
BBNNQRKR
NBBRKNQR
NRBBNKQR
BRNNKBQR
RBQNBNKR
BBNQRKNR
BBNNQRKR
QBNRKNBR
NRBBNKQR
RNBBQKRN
BRKQNRNB
BQRNKBNR
BBNNQRKR
NBQRKNBR
NRBBNKQR
RNBBQKRN
BRKQNRNB
BQR...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #10:

score: 0
Accepted
time: 98ms
memory: 6628kb

input:

GAME 1
3
2
6
4
3
8
GAME 2
2
2
2
3
5
8
GAME 3
4
4
2
4
4
8
GAME 4
4
5
2
2
2
8
GAME 5
3
2
4
4
3
8
GAME 6
5
5
2
2
2
8
GAME 7
2
1
1
4
3
8
GAME 8
3
2
5
2
2
8
GAME 9
4
2
5
3
3
8
GAME 10
3
3
4
3
3
8
GAME 11
4
3
1
3
2
8
GAME 12
3
4
3
2
4
8
GAME 13
3
1
2
2
2
8
GAME 14
4
3
1
5
1
8
GAME 15
5
3
2
1
1
8
GAME 16
4...

output:

NRBBNKQR
RBBNQKRN
BBNQRKNR
BBNNRKQR
BBNNQRKR
BBRQNKNR
NRBBNKQR
RNBBQKRN
QNRBKNBR
RBNNBQKR
BBNNQRKR
BBRNQKNR
NRBBNKQR
BNRBNKRQ
BBNRKNRQ
BBNNQRKR
BBNNQRKR
BBRNNKQR
NRBBNKQR
BNRBNKRQ
BBNNRKRQ
BBNNQRKR
BBNNQRKR
BQRBNKNR
NRBBNKQR
RBBNQKRN
BBNQRKNR
BRNBQKRN
BBNNQRKR
BNRBQKNR
NRBBNKQR
BQRBNNKR
NQBBRNKR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Test #11:

score: 0
Accepted
time: 108ms
memory: 6808kb

input:

GAME 1
2
2
3
3
3
8
GAME 2
2
3
4
4
2
8
GAME 3
2
3
3
3
3
8
GAME 4
1
4
4
3
4
8
GAME 5
1
3
6
2
3
8
GAME 6
1
3
4
4
2
8
GAME 7
4
3
3
6
3
8
GAME 8
3
1
6
5
5
8
GAME 9
4
3
4
3
4
8
GAME 10
3
1
3
2
4
8
GAME 11
3
0
3
5
4
8
GAME 12
2
1
2
5
6
8
GAME 13
5
5
5
2
2
8
GAME 14
5
4
0
3
3
8
GAME 15
6
1
1
2
2
8
GAME 16
4...

output:

NRBBNKQR
RNBBQKRN
QNRBKNBR
BNNQRBKR
BBNNQRKR
RQNBBNKR
NRBBNKQR
RNBBQKRN
RQKBNNBR
QNRBBKNR
BBNNQRKR
RNQBBNKR
NRBBNKQR
RNBBQKRN
RQKBNNBR
BBRNNQKR
BBNNQRKR
RNNBBQKR
NRBBNKQR
BRNNKBQR
QNBNRBKR
BBNQNRKR
BBNNQRKR
RQNNBBKR
NRBBNKQR
BRNNKBQR
RBQNBNKR
BBNNRKQR
BBNNQRKR
RNQNBBKR
NRBBNKQR
BRNNKBQR
RBQNBNKR
BBN...

result:

ok (c) correct after 96 tests, max moves 6 (96 test cases)

Extra Test:

score: 0
Extra Test Passed