QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#676827 | #7179. Fischer's Chess Guessing Game | maspy | AC ✓ | 15ms | 4792kb | C++23 | 11.3kb | 2024-10-26 01:07:33 | 2024-10-26 01:07:33 |
Judging History
answer
#line 1 "/home/maspy/compro/library/my_template.hpp"
#if defined(LOCAL)
#include <my_template_compiled.hpp>
#else
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("Ofast,unroll-loops")
// いまの CF だとこれ入れると動かない?
// #pragma GCC target("avx2,popcnt")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using u8 = uint8_t;
using u16 = uint16_t;
using u32 = uint32_t;
using u64 = uint64_t;
using i128 = __int128;
using u128 = unsigned __int128;
using f128 = __float128;
template <class T>
constexpr T infty = 0;
template <>
constexpr int infty<int> = 1'010'000'000;
template <>
constexpr ll infty<ll> = 2'020'000'000'000'000'000;
template <>
constexpr u32 infty<u32> = infty<int>;
template <>
constexpr u64 infty<u64> = infty<ll>;
template <>
constexpr i128 infty<i128> = i128(infty<ll>) * 2'000'000'000'000'000'000;
template <>
constexpr double infty<double> = infty<ll>;
template <>
constexpr long double infty<long double> = infty<ll>;
using pi = pair<ll, ll>;
using vi = vector<ll>;
template <class T>
using vc = vector<T>;
template <class T>
using vvc = vector<vc<T>>;
template <class T>
using vvvc = vector<vvc<T>>;
template <class T>
using vvvvc = vector<vvvc<T>>;
template <class T>
using vvvvvc = vector<vvvvc<T>>;
template <class T>
using pq = priority_queue<T>;
template <class T>
using pqg = priority_queue<T, vector<T>, greater<T>>;
#define vv(type, name, h, ...) vector<vector<type>> name(h, vector<type>(__VA_ARGS__))
#define vvv(type, name, h, w, ...) vector<vector<vector<type>>> name(h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
#define vvvv(type, name, a, b, c, ...) \
vector<vector<vector<vector<type>>>> name(a, vector<vector<vector<type>>>(b, vector<vector<type>>(c, vector<type>(__VA_ARGS__))))
// https://trap.jp/post/1224/
#define FOR1(a) for (ll _ = 0; _ < ll(a); ++_)
#define FOR2(i, a) for (ll i = 0; i < ll(a); ++i)
#define FOR3(i, a, b) for (ll i = a; i < ll(b); ++i)
#define FOR4(i, a, b, c) for (ll i = a; i < ll(b); i += (c))
#define FOR1_R(a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR2_R(i, a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR3_R(i, a, b) for (ll i = (b)-1; i >= ll(a); --i)
#define overload4(a, b, c, d, e, ...) e
#define overload3(a, b, c, d, ...) d
#define FOR(...) overload4(__VA_ARGS__, FOR4, FOR3, FOR2, FOR1)(__VA_ARGS__)
#define FOR_R(...) overload3(__VA_ARGS__, FOR3_R, FOR2_R, FOR1_R)(__VA_ARGS__)
#define FOR_subset(t, s) for (ll t = (s); t >= 0; t = (t == 0 ? -1 : (t - 1) & (s)))
#define all(x) x.begin(), x.end()
#define len(x) ll(x.size())
#define elif else if
#define eb emplace_back
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second
#define stoi stoll
int popcnt(int x) { return __builtin_popcount(x); }
int popcnt(u32 x) { return __builtin_popcount(x); }
int popcnt(ll x) { return __builtin_popcountll(x); }
int popcnt(u64 x) { return __builtin_popcountll(x); }
int popcnt_mod_2(int x) { return __builtin_parity(x); }
int popcnt_mod_2(u32 x) { return __builtin_parity(x); }
int popcnt_mod_2(ll x) { return __builtin_parityll(x); }
int popcnt_mod_2(u64 x) { return __builtin_parityll(x); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 1, 2)
int topbit(int x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(u32 x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(ll x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
int topbit(u64 x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 0, 2)
int lowbit(int x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(u32 x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(ll x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }
int lowbit(u64 x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }
template <typename T>
T floor(T a, T b) {
return a / b - (a % b && (a ^ b) < 0);
}
template <typename T>
T ceil(T x, T y) {
return floor(x + y - 1, y);
}
template <typename T>
T bmod(T x, T y) {
return x - y * floor(x, y);
}
template <typename T>
pair<T, T> divmod(T x, T y) {
T q = floor(x, y);
return {q, x - q * y};
}
template <typename T, typename U>
T SUM(const vector<U> &A) {
T sm = 0;
for (auto &&a: A) sm += a;
return sm;
}
#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define LB(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define UB(c, x) distance((c).begin(), upper_bound(all(c), (x)))
#define UNIQUE(x) sort(all(x)), x.erase(unique(all(x)), x.end()), x.shrink_to_fit()
template <typename T>
T POP(deque<T> &que) {
T a = que.front();
que.pop_front();
return a;
}
template <typename T>
T POP(pq<T> &que) {
T a = que.top();
que.pop();
return a;
}
template <typename T>
T POP(pqg<T> &que) {
T a = que.top();
que.pop();
return a;
}
template <typename T>
T POP(vc<T> &que) {
T a = que.back();
que.pop_back();
return a;
}
template <typename F>
ll binary_search(F check, ll ok, ll ng, bool check_ok = true) {
if (check_ok) assert(check(ok));
while (abs(ok - ng) > 1) {
auto x = (ng + ok) / 2;
(check(x) ? ok : ng) = x;
}
return ok;
}
template <typename F>
double binary_search_real(F check, double ok, double ng, int iter = 100) {
FOR(iter) {
double x = (ok + ng) / 2;
(check(x) ? ok : ng) = x;
}
return (ok + ng) / 2;
}
template <class T, class S>
inline bool chmax(T &a, const S &b) {
return (a < b ? a = b, 1 : 0);
}
template <class T, class S>
inline bool chmin(T &a, const S &b) {
return (a > b ? a = b, 1 : 0);
}
// ? は -1
vc<int> s_to_vi(const string &S, char first_char) {
vc<int> A(S.size());
FOR(i, S.size()) { A[i] = (S[i] != '?' ? S[i] - first_char : -1); }
return A;
}
template <typename T, typename U>
vector<T> cumsum(vector<U> &A, int off = 1) {
int N = A.size();
vector<T> B(N + 1);
FOR(i, N) { B[i + 1] = B[i] + A[i]; }
if (off == 0) B.erase(B.begin());
return B;
}
// stable sort
template <typename T>
vector<int> argsort(const vector<T> &A) {
vector<int> ids(len(A));
iota(all(ids), 0);
sort(all(ids), [&](int i, int j) { return (A[i] == A[j] ? i < j : A[i] < A[j]); });
return ids;
}
// A[I[0]], A[I[1]], ...
template <typename T>
vc<T> rearrange(const vc<T> &A, const vc<int> &I) {
vc<T> B(len(I));
FOR(i, len(I)) B[i] = A[I[i]];
return B;
}
template <typename T, typename... Vectors>
void concat(vc<T> &first, const Vectors &... others) {
vc<T> &res = first;
(res.insert(res.end(), others.begin(), others.end()), ...);
}
#endif
#line 1 "/home/maspy/compro/library/other/io2.hpp"
#define INT(...) \
int __VA_ARGS__; \
IN(__VA_ARGS__)
#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 DBL(...) \
long double __VA_ARGS__; \
IN(__VA_ARGS__)
#define VEC(type, name, size) \
vector<type> name(size); \
read(name)
#define VV(type, name, h, w) \
vector<vector<type>> name(h, vector<type>(w)); \
read(name)
void read(int &a) { cin >> a; }
void read(long long &a) { cin >> a; }
void read(char &a) { cin >> a; }
void read(double &a) { cin >> a; }
void read(long double &a) { cin >> a; }
void read(string &a) { cin >> a; }
template <class T, class S>
void read(pair<T, S> &p) {
read(p.first), read(p.second);
}
template <class T>
void read(vector<T> &a) {
for (auto &i: a) read(i);
}
template <class T>
void read(T &a) {
cin >> a;
}
void IN() {}
template <class Head, class... Tail>
void IN(Head &head, Tail &... tail) {
read(head);
IN(tail...);
}
template <typename T, typename U>
ostream &operator<<(ostream &os, const pair<T, U> &A) {
os << A.fi << " " << A.se;
return os;
}
template <typename T>
ostream &operator<<(ostream &os, const vector<T> &A) {
for (size_t i = 0; i < A.size(); i++) {
if (i) os << " ";
os << A[i];
}
return os;
}
// chatgpt helped me
class CoutInitializer {
public:
CoutInitializer() { std::cout << std::fixed << std::setprecision(15); }
};
static CoutInitializer cout_initializer;
void print() {
cout << "\n";
cout.flush();
}
template <class Head, class... Tail>
void print(Head &&head, Tail &&... tail) {
cout << head;
if (sizeof...(Tail)) cout << " ";
print(forward<Tail>(tail)...);
}
void YES(bool t = 1) { print(t ? "YES" : "NO"); }
void NO(bool t = 1) { YES(!t); }
void Yes(bool t = 1) { print(t ? "Yes" : "No"); }
void No(bool t = 1) { Yes(!t); }
void yes(bool t = 1) { print(t ? "yes" : "no"); }
void no(bool t = 1) { yes(!t); }
#line 2 "/home/maspy/compro/library/random/base.hpp"
u64 RNG_64() {
static u64 x_ = u64(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count()) * 10150724397891781847ULL;
x_ ^= x_ << 7;
return x_ ^= x_ >> 9;
}
u64 RNG(u64 lim) { return RNG_64() % lim; }
ll RNG(ll l, ll r) { return l + RNG_64() % (r - l); }
#line 4 "main.cpp"
vc<string> dat;
const int N = 960;
u8 same[N][N];
void init() {
string S = "RKRBBQNN";
sort(all(S));
do {
map<char, vc<int>> MP;
FOR(i, len(S)) MP[S[i]].eb(i);
if (!(MP['R'][0] < MP['K'][0] && MP['K'][0] < MP['R'][1])) continue;
if ((MP['B'][0] + MP['B'][1]) % 2 == 0) continue;
dat.eb(S);
} while (next_permutation(all(S)));
FOR(i, N) FOR(j, N) { FOR(k, len(S)) same[i][j] += (dat[i][k] == dat[j][k]); }
}
map<vc<int>, int> MP;
void solve() {
vc<int> I;
FOR(i, 960) I.eb(i);
vc<int> worst(N);
vc<int> history;
#ifdef LOCAL
string god = dat[RNG(0, N)];
#endif
int QLE = 0;
while (1) {
int p = [&]() {
if (MP.count(history)) { return MP[history]; }
if (history.empty()) return 378;
FOR(i, N) {
vc<int> F(9);
for (auto& j: I) { F[same[i][j]]++; }
worst[i] = MAX(F);
}
vc<int> cand;
int mi = infty<int>;
for (auto& i: I) {
if (chmin(mi, worst[i])) { cand.clear(); }
if (mi == worst[i]) cand.eb(i);
}
if (history == vc<int>({2, 1, 1})) {
return 82;
print(history, cand);
assert(0);
}
if (history == vc<int>({2, 2})) {
return 876;
print(history, cand);
assert(0);
}
if (history == vc<int>({1, 1})) {
return 859;
print(history, cand);
// assert(0);
}
return cand[0];
}();
if (len(I) == 1) { p = I[0]; }
MP[history] = p;
#ifdef LOCAL
int n = 0;
string out = dat[p];
FOR(i, 8) n += (out[i] == god[i]);
print(len(I), "n=", n);
#else
print(dat[p]);
INT(n);
#endif
++QLE;
history.eb(n);
if (n == 8) {
#ifdef LOCAL
print("god=", god);
print("history=", history);
assert(QLE <= 6);
#endif
return;
}
vc<int> nxt;
for (auto& i: I)
if (same[p][i] == n) nxt.eb(i);
swap(nxt, I);
}
}
signed main() {
init();
// FOR(10000) { solve(); }
// for (auto& [x, y]: MP) {
// if (len(x) <= 1) print(x, y);
// }
// return 0;
while (1) {
STR(S);
if (S == "END") break;
INT(t);
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 8ms
memory: 4552kb
input:
GAME 1 1 2 2 1 2 8 END
output:
NRBBNKQR BNRKQBNR RNBQKRNB BRNQKBRN QNRNBKRB RKRBBQNN
result:
ok (c) correct after 1 tests, max moves 6 (1 test case)
Test #2:
score: 0
Accepted
time: 9ms
memory: 4500kb
input:
GAME 1 1 2 2 1 2 8 GAME 2 2 1 0 1 2 8 GAME 3 1 2 2 0 3 8 GAME 4 1 2 1 1 3 8 GAME 5 2 2 1 1 4 8 GAME 6 2 1 2 1 3 8 GAME 7 0 2 3 4 3 8 GAME 8 1 2 1 0 3 8 GAME 9 0 3 1 2 8 GAME 10 0 3 3 3 8 GAME 11 0 5 3 2 8 GAME 12 1 1 2 2 3 8 GAME 13 1 2 2 3 4 8 GAME 14 0 4 3 4 8 GAME 15 1 2 1 0 1 8 GAME 16 1 1 5 8 G...
output:
NRBBNKQR BNRKQBNR RNBQKRNB BRNQKBRN QNRNBKRB RKRBBQNN NRBBNKQR RBBNKQNR QRKNNRBB NBNRBKRQ BQNBRNKR RKRBBNQN NRBBNKQR BNRKQBNR RNBQKRNB BRNQKBRN RBKNBQNR RKRBBNNQ NRBBNKQR BNRKQBNR RNBQKRNB BBNQRNKR QBRKNRBN RKRBQNBN NRBBNKQR RBBNKQNR RNNKBBQR NRKNBQRB RKBBQNRN RKRBNQBN NRBBNKQR RBBNKQNR QRKNNRBB NRK...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #3:
score: 0
Accepted
time: 8ms
memory: 4516kb
input:
GAME 1 2 3 2 2 3 8 GAME 2 2 4 2 8 GAME 3 3 0 5 2 8 GAME 4 3 0 2 2 8 GAME 5 2 2 3 1 2 8 GAME 6 3 0 3 2 4 8 GAME 7 1 3 0 2 4 8 GAME 8 1 3 0 3 8 GAME 9 2 3 4 1 8 GAME 10 2 3 5 4 8 GAME 11 2 2 4 3 8 GAME 12 1 3 0 4 8 GAME 13 0 2 3 8 GAME 14 1 0 1 4 8 GAME 15 0 1 2 4 1 8 GAME 16 0 2 2 2 2 8 GAME 17 1 0 3...
output:
NRBBNKQR RBBNKQNR RKBNNBRQ BRKNQBNR RBKQNNBR RKQBBNNR NRBBNKQR RBBNKQNR BBRNNQKR RKNBBQNR NRBBNKQR NRBQKBRN RBNNBKQR RBQNNKBR RKNBBNQR NRBBNKQR NRBQKBRN RBNNBKQR BNRBQKNR RKQBNNBR NRBBNKQR RBBNKQNR RNNKBBQR BQRKNBNR NBNQBRKR RKNBQNBR NRBBNKQR NRBQKBRN RBNNBKQR BBQRNKNR QNNBRKBR RKNBNQBR NRBBNKQR BNR...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #4:
score: 0
Accepted
time: 15ms
memory: 4572kb
input:
GAME 1 1 2 1 0 8 GAME 2 3 4 3 5 8 GAME 3 2 1 2 8 GAME 4 1 1 2 4 8 GAME 5 2 2 1 6 8 GAME 6 3 2 3 1 2 8 GAME 7 2 0 5 5 8 GAME 8 2 0 6 5 8 GAME 9 3 3 0 2 8 GAME 10 2 0 3 3 8 GAME 11 2 0 4 1 5 8 GAME 12 3 2 3 2 8 GAME 13 2 2 0 8 GAME 14 3 2 5 8 GAME 15 2 1 2 4 8 GAME 16 1 3 1 1 8 GAME 17 2 1 3 4 8 GAME ...
output:
NRBBNKQR BNRKQBNR RNBQKRNB BBNQRNKR QRKRBBNN NRBBNKQR NRBQKBRN NBBRQKRN NRKBBQRN NRKRBBQN NRBBNKQR RBBNKQNR QRKNNRBB NRKRBBNQ NRBBNKQR BNRKQBNR RNKQNRBB QNBRKNRB QRKRBNNB NRBBNKQR RBBNKQNR RNNKBBQR NRKNBQRB NRKRBQNB NRBBNKQR NRBQKBRN BRKBNNRQ BRNBKQNR NNRBBKRQ NRKRBNQB NRBBNKQR RBBNKQNR NRKQRBBN BRK...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #5:
score: 0
Accepted
time: 11ms
memory: 4452kb
input:
GAME 1 0 4 3 3 8 GAME 2 0 3 4 2 8 GAME 3 0 4 4 3 8 GAME 4 0 5 5 3 8 GAME 5 0 4 4 4 8 GAME 6 0 6 4 6 8 GAME 7 1 3 1 3 8 GAME 8 3 2 1 2 2 8 GAME 9 2 4 2 2 8 GAME 10 0 1 0 6 8 GAME 11 1 1 2 0 4 8 GAME 12 0 2 3 4 8 GAME 13 1 1 4 1 6 8 GAME 14 0 3 2 1 8 GAME 15 1 1 4 1 8 GAME 16 2 3 3 1 1 8 GAME 17 1 4 2...
output:
NRBBNKQR RKNNRQBB RBKNRNBQ RKNNBBRQ RQNKRBBN NRBBNKQR RKNNRQBB QNRKRNBB QNNRKRBB RNQKRBBN NRBBNKQR RKNNRQBB RBKNRNBQ RNKNQRBB RNNKRBBQ NRBBNKQR RKNNRQBB RKNRQNBB RKNRBQNB RQNKRNBB NRBBNKQR RKNNRQBB RBKNRNBQ RNKNQRBB RNQKRNBB NRBBNKQR RKNNRQBB RKNNRBBQ RNKNRQBB RNNKRQBB NRBBNKQR BNRKQBNR BQRKNNRB BBN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #6:
score: 0
Accepted
time: 15ms
memory: 4792kb
input:
GAME 1 3 5 2 8 GAME 2 3 6 8 GAME 3 4 1 3 8 GAME 4 3 3 2 3 4 8 GAME 5 3 4 4 4 8 GAME 6 4 1 4 5 8 GAME 7 1 2 0 3 8 GAME 8 2 0 4 4 8 GAME 9 2 0 3 2 8 GAME 10 1 1 1 4 3 8 GAME 11 2 0 2 3 1 8 GAME 12 2 1 2 3 8 GAME 13 3 2 3 4 8 GAME 14 2 2 4 8 GAME 15 4 4 8 GAME 16 4 3 2 2 8 GAME 17 4 4 4 2 8 GAME 18 6 4...
output:
NRBBNKQR NRBQKBRN NRBQKRNB QRBKNBRN NRBBNKQR NRBQKBRN NRBKQBRN NRBBNKQR BRNBQKNR NBBRNQKR NRBKNBRQ NRBBNKQR NRBQKBRN RNBBQKRN NRQNBKRB NRBKQRNB QRBKNNRB NRBBNKQR NRBQKBRN NBBRQKRN NNBQRKRB NRBKQNRB NRBBNKQR BRNBQKNR NBBRNQKR NQBRNKRB NRBKNQRB NRBBNKQR BNRKQBNR RNBQKRNB NBRKBNRQ QRNKBBRN NRBBNKQR RBB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #7:
score: 0
Accepted
time: 15ms
memory: 4776kb
input:
GAME 1 1 1 3 8 GAME 2 2 5 3 8 GAME 3 1 1 2 2 4 8 GAME 4 0 3 1 6 8 GAME 5 0 3 1 5 8 GAME 6 0 4 5 8 GAME 7 2 4 0 6 8 GAME 8 3 3 5 3 8 GAME 9 2 4 0 8 GAME 10 1 1 3 5 2 8 GAME 11 1 2 8 GAME 12 2 4 1 3 4 8 GAME 13 1 0 4 4 2 8 GAME 14 1 1 4 2 6 8 GAME 15 1 1 4 2 8 GAME 16 0 5 4 5 8 GAME 17 0 4 3 2 8 GAME ...
output:
NRBBNKQR BNRKQBNR RNKQNRBB RBBQKRNN NRBBNKQR RBBNKQNR RBBKQNNR RBBNKRQN NRBBNKQR BNRKQBNR RNKQNRBB QNBRKNRB RBQNKNBR RBBNKRNQ NRBBNKQR RKNNRQBB QNRKRNBB RBKNQRBN RBQNKRBN NRBBNKQR RKNNRQBB QNRKRNBB RBKNQRBN RBNQKRBN NRBBNKQR RKNNRQBB RBKNRNBQ RBNNKRBQ NRBBNKQR RBBNKQNR BBRNNQKR RNBBKRNQ RQBBKRNN NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #8:
score: 0
Accepted
time: 7ms
memory: 4572kb
input:
GAME 1 3 2 3 5 8 GAME 2 4 3 4 8 GAME 3 4 4 3 6 8 GAME 4 2 3 2 4 4 8 GAME 5 3 4 1 4 8 GAME 6 3 5 4 8 GAME 7 0 0 6 4 8 GAME 8 1 2 2 3 2 8 GAME 9 0 1 3 5 8 GAME 10 1 3 3 3 4 8 GAME 11 2 1 1 2 8 GAME 12 1 4 3 8 GAME 13 0 2 1 2 8 GAME 14 0 1 3 8 GAME 15 1 3 3 3 8 GAME 16 0 2 1 3 8 GAME 17 1 1 3 5 8 GAME ...
output:
NRBBNKQR NRBQKBRN BRKBNNRQ BRNBKQNR QRNBKNBR NRBBNKQR BRNBQKNR RNQBNKBR NRQBKNBR NRBBNKQR BRNBQKNR BRNKNBQR NRNBBQKR NRNBKQBR NRBBNKQR RBBNKQNR RKBNNBRQ BRKNQBNR BNRNKBQR QRNNKBBR NRBBNKQR NRBQKBRN NBBRQKRN NRNQBBKR NRQNKBBR NRBBNKQR NRBQKBRN NRBQKRNB NRNQKBBR NRBBNKQR RKNNRQBB BBQRKRNN BBQRKNRN BBR...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #9:
score: 0
Accepted
time: 15ms
memory: 4572kb
input:
GAME 1 2 5 5 8 GAME 2 3 3 1 4 8 GAME 3 4 1 5 8 GAME 4 1 1 1 2 2 8 GAME 5 2 3 0 3 3 8 GAME 6 2 4 3 1 2 8 GAME 7 2 4 1 8 GAME 8 3 4 3 1 8 GAME 9 4 1 4 3 8 GAME 10 1 3 0 8 GAME 11 2 2 3 3 3 8 GAME 12 2 2 3 2 2 8 GAME 13 3 4 5 3 8 GAME 14 2 4 2 1 4 8 GAME 15 3 2 3 0 8 GAME 16 1 0 1 5 8 GAME 17 1 0 3 2 8...
output:
NRBBNKQR RBBNKQNR RBBKQNNR QBBRKNNR NRBBNKQR NRBQKBRN RNBBQKRN NBBQRNKR NBBRKQNR NRBBNKQR BRNBQKNR NBBRNQKR NBBRKNQR NRBBNKQR BNRKQBNR RNKQNRBB BRQNKNRB BBNQRKRN QBNRKNBR NRBBNKQR RBBNKQNR RKBNNBRQ BBNRQKNR BQRBKNNR NBQRKNBR NRBBNKQR RBBNKQNR BBRNNQKR RKBNNQRB BRQNKBNR NBNRKQBR NRBBNKQR RBBNKQNR BBR...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #10:
score: 0
Accepted
time: 11ms
memory: 4492kb
input:
GAME 1 3 1 2 3 8 GAME 2 2 4 5 5 8 GAME 3 4 3 3 1 8 GAME 4 4 5 5 8 GAME 5 3 0 2 8 GAME 6 5 8 GAME 7 2 4 4 5 8 GAME 8 3 2 0 3 8 GAME 9 4 2 2 4 8 GAME 10 3 0 4 6 8 GAME 11 4 2 2 6 8 GAME 12 3 1 3 2 2 8 GAME 13 3 0 3 3 8 GAME 14 4 4 1 5 8 GAME 15 5 6 8 GAME 16 4 3 6 5 8 GAME 17 5 5 3 8 GAME 18 4 4 1 8 G...
output:
NRBBNKQR NRBQKBRN NNRBBQKR NBQNRKBR BBRQNKNR NRBBNKQR RBBNKQNR BBRNNQKR BBRNKNQR BBRNQKNR NRBBNKQR BRNBQKNR RNQBNKBR NNBBQRKR BBRNNKQR NRBBNKQR BRNBQKNR BRKBNQNR BQRBNKNR NRBBNKQR NRBQKBRN RBNNBKQR BNRBQKNR NRBBNKQR BNRBNKQR NRBBNKQR RBBNKQNR BBRNNQKR BBQNRKNR QBRNBKNR NRBBNKQR NRBQKBRN BRKBNNRQ NBB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #11:
score: 0
Accepted
time: 15ms
memory: 4704kb
input:
GAME 1 2 2 4 2 1 8 GAME 2 2 2 4 1 3 8 GAME 3 2 3 1 4 4 8 GAME 4 1 2 1 3 2 8 GAME 5 1 3 0 3 4 8 GAME 6 1 3 0 4 4 8 GAME 7 4 4 4 8 GAME 8 3 1 3 2 8 GAME 9 4 5 6 8 GAME 10 3 2 3 3 8 GAME 11 3 3 0 5 8 GAME 12 2 2 3 3 8 GAME 13 5 3 4 3 8 GAME 14 5 2 5 4 8 GAME 15 6 5 4 5 8 GAME 16 4 2 1 4 8 GAME 17 5 2 4...
output:
NRBBNKQR RBBNKQNR RNNKBBQR BRNKQBNR RNBKNBRQ RQNBBNKR NRBBNKQR RBBNKQNR RNNKBBQR BRNKQBNR RNBKRNQB RNQBBNKR NRBBNKQR RBBNKQNR RKBNNBRQ RQNBKNBR RBNKBNQR RNNBBQKR NRBBNKQR BNRKQBNR RNBQKRNB BBNQRNKR QBRNKNBR RQNNBBKR NRBBNKQR BNRKQBNR BQRKNNRB QNNRKBBR RKNQBBNR RNQNBBKR NRBBNKQR BNRKQBNR BQRKNNRB QNN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Extra Test:
score: 0
Extra Test Passed