QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#173981 | #7179. Fischer's Chess Guessing Game | ucup-team180# | AC ✓ | 109ms | 6896kb | C++17 | 10.7kb | 2023-09-10 03:19:06 | 2023-09-10 03:19:07 |
Judging History
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