QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#173922#7179. Fischer's Chess Guessing Gameucup-team008#AC ✓676ms3976kbC++2313.0kb2023-09-10 02:46:482023-09-10 02:46:48

Judging History

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

  • [2023-09-10 02:46:48]
  • 评测
  • 测评结果:AC
  • 用时:676ms
  • 内存:3976kb
  • [2023-09-10 02:46:48]
  • 提交

answer

// {{{ y0105w49 template 22M14
// hi mom
#ifndef NULL
#ifdef __GNUC__
#ifndef __clang__
// #include <bits/stdc++.h>
#include <bits/extc++.h>
#include <tr2/dynamic_bitset>
#define EXTS
#else
#ifdef ARST
#include <bits/clang++.h>
#else
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <cwchar>
#include <cwctype>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
// #include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
// #include <cuchar>
#endif
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <codecvt>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif
#if __cplusplus >= 201402L
#include <shared_mutex>
#endif
#if __cplusplus >= 201703L
#include <any>
#include <charconv>
// #include <execution>
#include <filesystem>
#include <optional>
// #include <memory_resource>
#include <string_view>
#include <variant>
#endif
#if __cplusplus >= 202002L
#include <barrier>
#include <bit>
#include <compare>
#include <concepts>
#if __cpp_impl_coroutine
# include <coroutine>
#endif
#include <latch>
#include <numbers>
#include <ranges>
#include <span>
// #include <stop_token>
#include <semaphore>
// #include <source_location>
// #include <syncstream>
#include <version>
#endif
#if __cplusplus > 202002L
// #include <expected>
// #include <spanstream>
#if __has_include(<stacktrace>)
# include <stacktrace>
#endif
#include <stdatomic.h>
#endif
#endif
#endif
#else
#error "unsupported"
#endif
#endif
using namespace std;
#ifdef ARST
#define JO 1
#define OJ 0
#else
#define JO 0
#define OJ 1
#endif
#define STR(x) #x
#define GCCDIAG(s) _Pragma(STR(GCC diagnostic s)) static_assert(true)
#define Wsave GCCDIAG(push)
#define Wpop GCCDIAG(pop)
#define Wsupp(w) GCCDIAG(ignored "-W" w)
#define Wpush(w) Wsave; Wsupp(w)
#define typeof __typeof__
namespace gbd_ns {
	template<typename C>
	struct is_iterable {
		template<class T> static long check(...);
		template<class T> static char check(int,typename T::const_iterator = C().end());
		enum {
			value = sizeof(check<C>(0)) == sizeof(char),
			neg_value = sizeof(check<C>(0)) != sizeof(char)
		};
	};
	template<class T> struct _gbd3C;
	template<class T> ostream &_gbd3(ostream &os,const T &x) { return _gbd3C<T>::call(os,x); }
	template<> ostream &_gbd3(ostream &os,const string &x) { return os<<'"'<<x<<'"'; }
	template<> ostream &_gbd3(ostream &os,char *const &x) { return os<<'"'<<x<<'"'; }
	template<class T> ostream &_gbd3_5(ostream &os,const T &x) { return _gbd3(os,x); }
	template<class A,class B>
	ostream &_gbd4(ostream &os,const pair<A,B> &p) {
		_gbd3(os<<'(',p.first);
		_gbd3(os<<',',p.second);
		return os<<')';
	}
	template<class T,size_t N> struct _gbd4_tupleC {
		static void call(ostream &os,const T &t) {
			_gbd4_tupleC<T,N-1>::call(os,t);
			os<<','<<get<N-1>(t);
		}
	};
	template<class T> struct _gbd4_tupleC<T,1> {
		static void call(ostream &os,const T &t) {
			os<<get<0>(t);
		}
	};
	template<typename... Types>
	ostream &_gbd4(ostream &os,const tuple<Types...> &t) {
		os<<'(';
		_gbd4_tupleC<tuple<Types...>,sizeof...(Types)>::call(os,t);
		return os<<')';
	}
	template<>
	ostream &_gbd4(ostream &os,const tuple<> &t) { (void)t; return os<<"()"; }
	template<class T> ostream &_gbd4(ostream &os,const T &x) {
		return os<<x;
	}
	template<class T> struct _gbd3C {
		template<class U=T>
		static ostream &call(ostream &os,enable_if_t<is_iterable<U>::value,const T> &V) {
			os<<"{";
			bool ff=0;
			for(const auto &E:V) _gbd3_5<decltype(E)>(ff?os<<",":os,E), ff=1;
			return os<<"}";
		}
		template<class U=T>
		static ostream &call(ostream &os,enable_if_t<is_iterable<U>::neg_value,const T> &x) {
			return _gbd4(os,x);
		}
	};
	template<class T,typename... Args> ostream &_gbd2(ostream &os,bool,vector<string>::iterator nm,const T &x,Args&&... args);
	ostream &_gbd2(ostream &os,bool,vector<string>::iterator) { return os; }
	template<typename... Args>
	ostream &_gbd2(ostream &os,bool fi,vector<string>::iterator nm,const char *x,Args&&... args) {
		return _gbd2(os<<(fi?"":"  ")<<x,0,nm+1,args...);
	}
	template<class T,typename... Args>
	ostream &_gbd2(ostream &os,bool fi,vector<string>::iterator nm,const T &x,Args&&... args) {
		return _gbd2(_gbd3<T>(os<<(fi?"":"  ")<<*nm<<"=",x),0,nm+1,args...);
	}
	vector<string> split(string s) {
		vector<string> Z;
		string z="";
		s+=',';
		int dep=0;
		for(char c:s) {
			if(c==',' && !dep) Z.push_back(z),z="";
			else z+=c;
			if(c=='(' || c=='{' || c=='[') ++dep;
			if(c==')' || c=='}' || c==']') --dep;
		}
		return Z;
	}
	template<typename... Args> ostream &_gbd1(ostream &os,const string &nm,Args&&... args) {
		return _gbd2(os,1,split(nm).begin(),args...);
	}
	template<typename... Args> string _gbd1(const string &nm,Args&&... args) {
		ostringstream oss;
		_gbd2(oss,1,split(nm).begin(),args...);
		return oss.str();
	}
}
bool DBG=1,EMACS=0;
#define dbg(...) (JO&&DBG?gbd_ns::_gbd1(cerr<<"\033[38;5;5m"<<__FILE__<<":"<<__LINE__<<(EMACS?":note: ":": "),#__VA_ARGS__,__VA_ARGS__)<<"\033[0m"<<endl:cerr)
#define dbgt(...) dbg(fmt_time(),__VA_ARGS__)
#define fmt(...) gbd_ns::_gbd1(#__VA_ARGS__,__VA_ARGS__)
template<class Fun> struct _y_combinator_result {
	Fun _fun;
	template<class T> explicit _y_combinator_result(T &&fun) : _fun(forward<T>(fun)) {}
	template<typename... Args> decltype(auto) operator()(Args &&... args) {
		return _fun(ref(*this),forward<Args>(args)...);
	}
};
template<class Fun> [[nodiscard]] decltype(auto) fix(Fun &&fun) {
	return _y_combinator_result<decay_t<Fun>>(forward<Fun>(fun));
}
#define nop void()
#define sz(x) (int((x).size()))
#define all(v) (v).begin(),(v).end()
#define sortu(v) (sort(all(v)), (v).resize(unique(all(v))-begin(v)))
#define forenum(i,...) for(int i:{-1}) for(__VA_ARGS__) if(++i,0) assert(0); else
#define forenumll(i,...) for(long long i:{-1}) for(__VA_ARGS__) if(++i,0) assert(0); else
#define forbs(k,i,bs) for(ptrdiff_t k=0,i=(bs)._Find_first();i<(ptrdiff_t)(bs).size();i=(bs)._Find_next(i),++k)
#define fordbs(k,i,bs) for(ptrdiff_t k=0,i=(bs).find_first();i<(ptrdiff_t)(bs).size();i=(bs).find_next(i),++k)
#define get(x,i) get<i>(x)
template<class T> bool inb(const T &x,const T &l,const T &r) { return l<=x&&x<=r; }
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#ifdef EXTS
template<class S,class T> using omap=__gnu_pbds::tree<S,T,less<S>,__gnu_pbds::rb_tree_tag,__gnu_pbds::tree_order_statistics_node_update>;
template<class T> using oset=omap<T,__gnu_pbds::null_type>;
template<class T> using rope=__gnu_cxx::rope<T>;
using dbitset=tr2::dynamic_bitset<>;
#endif
constexpr int e0=1, e1=10, e2=100, e3=1000;
constexpr int e4=10*e3, e5=100*e3, e6=1000*e3;
constexpr int e7=10*e6, e8=100*e6, e9=1000*e6;
constexpr long long e10=10LL*e9, e11=100LL*e9, e12=1000LL*e9;
constexpr long long e13=10*e12, e14=100*e12, e15=1000*e12;
constexpr long long e16=10*e15, e17=100*e15, e18=1000*e15;
constexpr __int128_t e21=__int128_t(e3)*e18, e24=__int128_t(e6)*e18, e27=__int128_t(e9)*e18;
constexpr __int128_t e30=e3*e27, e33=e6*e27, e36=e9*e27;
using ulll=__uint128_t;
using lll=__int128_t;
using ull=unsigned long long;
using ll=long long;
using ld=long double;
#ifdef EXTS
using lld=__float128;
#endif
long long START_TIME=chrono::duration_cast<chrono::microseconds>(chrono::steady_clock::now().time_since_epoch()).count();
inline long long now_U_03BC_s() { return chrono::duration_cast<chrono::microseconds>(chrono::steady_clock::now().time_since_epoch()).count()-START_TIME; }
const char *fmt_time(long long U_03BC_s=now_U_03BC_s()) { static char dur[20]; sprintf(dur,"%llu.%03llus",U_03BC_s/e6,(U_03BC_s%e6)/e3); return dur; }
#define timed(cb) do { dbg("timed "#cb" ..."); unsigned long long start=now_U_03BC_s(); cb; dbg("timed "#cb" took",fmt_time(now_U_03BC_s()-start)); } while(0)
int arg1; bool inp; vector<string> args;
unsigned seed=unsigned(JO&&getenv("sd")?atoi(getenv("sd")):OJ?START_TIME:START_TIME%e5);
mt19937 igen(seed<<1),gen(seed<<1|1);
#define irand(...) _rand(igen,__VA_ARGS__)
#define rand(...) _rand(gen,__VA_ARGS__)
template<class T> enable_if_t<numeric_limits<T>::is_integer,T> _rand(mt19937 &g,T l,T r) { return uniform_int_distribution<T>(l,r)(g); }
template<class T> enable_if_t<numeric_limits<T>::is_integer,T> _rand(mt19937 &g,T n) { return _rand(g,T(1),n); }
[[deprecated]] int _rand(mt19937 &g) { return _rand(g,0,numeric_limits<int>::max()); }
template<class T> enable_if_t<numeric_limits<T>::is_iec559,T> _rand(mt19937 &g,T l,T r) { return uniform_real_distribution<T>(l,r)(g); }
bool _rand(mt19937 &g,double p) { return bernoulli_distribution(p)(g); }
template<class T> T _rand(mt19937 &g,initializer_list<T> il) { return *(il.begin()+_rand(g,0,(int)il.size()-1)); }
template<class T> T _rand(mt19937 &g,double p,T a,T b) { return _rand(g,p)?a:b; }
template<class T> T _rand(mt19937 &g,initializer_list<T> il,initializer_list<double> wt) { assert(il.size()==wt.size()); return *(il.begin()+discrete_distribution<int>(wt)(g)); }
#define random_shuffle(...) static_assert(false,"random_shuffle deprecated, use shuffle")
#define ine(x,e) (inp?cin>>(x),nop:((x)=(e),nop))
#define inr(x,...) ine(x,irand(__VA_ARGS__))
#define endl '\n'
string garb;
void exit0() { DBG=1; dbgt("gg (early)"); exit(0); }
#ifndef MAIN
#define MAIN _main
#endif
void MAIN();
int32_t main([[maybe_unused]]int argc,[[maybe_unused]]char *argv[]) {
	ios_base::sync_with_stdio(0); cin.tie(0); cin.exceptions(ios_base::failbit | ios_base::badbit);
	arg1=0,args={argv,argv+argc};
	if(sz(args)>1) {
		if(args[1][0]=='i') freopen((string(__FILE__).substr(0,string(__FILE__).find('.'))+"."+args[1].substr(1)+".in").c_str(),"r",stdin);
		else if(args[1][0]=='I') freopen(args[1].substr(1).c_str(),"r",stdin);
		else arg1=stoi(args[1]);
	}
	inp=!arg1;
	if(JO && getenv("EMACS")) EMACS=1;
	dbgt(arg1,seed,args);
	#ifdef QUIET
	DBG=0;
	#endif
	MAIN();
	DBG=1;
	dbgt("gg;wp");
	return 0;
}
constexpr int inf=e9+99;
constexpr ll linf=1LL*e9*e9+99;
#if __cplusplus >= 202002L
constexpr long double U_03C4__ld=2*numbers::pi_v<long double>;
#else
const long double U_03C4__ld=2*acosl(-1);
#endif
#define U_03C4_ ((flt)U_03C4__ld)
constexpr long double U_03B5__ld=1e-8l;
#define U_03B5_ ((flt)U_03B5__ld)
// }}}
using flt=double; //CARE
constexpr int P=e9+7;//998'244'353;

vector<string> V;
string SECRET;
int MOVES;

int D(const string &s,const string &t) {
	int z=0;
	for(int i=0;i<8;i++) if(s[i]==t[i]) ++z;
	return z;
}

int query(const string &s) {
	assert(++MOVES<=6);
	int z=0;
	if(inp) return cout<<s<<endl<<flush, cin>>z, z;
	return D(SECRET,s);
}

void prep() {
	{
		string s="rQKbBnRN";
		sort(all(s));
		do {
			static int id[256];
			Wpush("char-subscripts");
			forenum(i,char c:s) id[c]=i;
			if(id['r']>id['K']) continue;
			if(id['K']>id['R']) continue;
			if(id['b']>id['B']) continue;
			if(id['n']>id['N']) continue;
			if(id['b']%2==id['B']%2) continue;
			Wpop;
			V.pb(s);
		} while(next_permutation(all(s)));
	}
	for(string &s:V) for(char &c:s) c=(char)toupper(c);
	assert(sz(V)==960);

}


void solve() {
	vector<string> poss=V;
	MOVES=0;
	for(;sz(poss)>1;) {
		pair<int,string> bes={inf,"nope"};
		for(string s:V) {
			vector<int> cnt(9,0);
			for(string t:poss) ++cnt[D(s,t)];
			if(*max_element(all(cnt))<bes.fi) bes={*max_element(all(cnt)),s};
		}
		int d=query(bes.se);
		if(d==8) return;
		vector<string> nposs;
		for(string t:poss) if(D(bes.se,t)==d) nposs.pb(t);
		swap(poss,nposs);
	}
	assert(sz(poss)==1);
	assert(query(*poss.begin())==8);
}

void _main() { /* CURSOR START */
	prep();
	for(;;) {
		string s; cin>>s;
		if(s=="!!") { inp=0; continue; }
		if(s=="END") break;
		assert(s=="GAME");
		int gn; cin>>gn;
		if(!inp) SECRET=V[gn-1], dbg(SECRET);
		solve();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 8ms
memory: 3744kb

input:

GAME 1
2
4
2
3
8
END

output:

NRNBBKQR
RNQBBKRN
QBNRBKRN
QRKRBBNN
RKRBBQNN

result:

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

Test #2:

score: 0
Accepted
time: 662ms
memory: 3740kb

input:

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

output:

NRNBBKQR
RNQBBKRN
QBNRBKRN
QRKRBBNN
RKRBBQNN
NRNBBKQR
RQKBBNRN
BNRBKRQN
RKRBBNQN
NRNBBKQR
RNQBBKRN
RKNRQNBB
BBNRKRQN
QBBNNRKR
RKRBBNNQ
NRNBBKQR
QRKNBBNR
QBRKNRBN
QNNRKRBB
QBBNNRKR
RKRBQNBN
NRNBBKQR
QRKNBBNR
QBRKNRBN
QBBNRKRN
QBBNNRKR
RKRBNQBN
NRNBBKQR
QRKNBBNR
QBRKNRBN
QNNRKRBB
QBBNNRKR
RKRBNNBQ
NRN...

result:

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

Test #3:

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

input:

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

output:

NRNBBKQR
RQKBBNRN
QNRBKNBR
QBBNRNKR
RKQBBNNR
NRNBBKQR
BNRBNKQR
QRBBKRNN
QBBNRNKR
RKNBBQNR
NRNBBKQR
BQNBRNKR
QBNRBKNR
RKNBBNQR
NRNBBKQR
RNQBBKRN
RKNRQNBB
QBBRNNKR
RKQBNNBR
NRNBBKQR
RQKBBNRN
QRKBNNBR
QBBRNNKR
QBBRKRNN
RKNBQNBR
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBBNNRKR
QBBNRKNR
RKNBNQBR
NRNBBKQR
RNQBBKRN
RKN...

result:

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

Test #4:

score: 0
Accepted
time: 660ms
memory: 3680kb

input:

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

output:

NRNBBKQR
RNQBBKRN
RKRBBNNQ
QRNBKRBN
QBBNNRKR
QRKRBBNN
NRNBBKQR
BNRBNKQR
QRKBBNRN
QBBRNKRN
NRKRBBQN
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBNRNKBR
QBBNNRKR
NRKRBBNQ
NRNBBKQR
RNQBBKRN
BRNQKBRN
QRNKNRBB
QBBNNRKR
QRKRBNNB
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBBNNRKR
NRKRBQNB
NRNBBKQR
BNRBNKQR
QRKBBNRN
QBBRNKRN
NRKRBNQB
NRN...

result:

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

Test #5:

score: 0
Accepted
time: 675ms
memory: 3812kb

input:

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

output:

NRNBBKQR
QRKNBBNR
BQRNKRNB
QNRKRNBB
QBBRKNNR
RQNKRBBN
NRNBBKQR
BBRNKQRN
NRBKQRNB
RKQNRNBB
RNQKRBBN
NRNBBKQR
QRKNBBNR
BQRNKRNB
QBBRNNKR
QNNRKBBR
RNNKRBBQ
NRNBBKQR
QRKNBBNR
QBRKNRBN
QRNKRNBB
RQNKRNBB
NRNBBKQR
BBRNKQRN
QRKNRNBB
QBBRNKNR
RNQKRNBB
NRNBBKQR
QRKNBBNR
QBRKNRBN
QRNKRNBB
RNNKRQBB
NRNBBKQR
BBR...

result:

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

Test #6:

score: 0
Accepted
time: 636ms
memory: 3692kb

input:

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

output:

NRNBBKQR
QRKNBBNR
QNRKNBBR
QNRNKRBB
QBBNNRKR
QRBKNBRN
NRNBBKQR
RNQBBKRN
RKRBBNNQ
QRBNNKRB
QBBRKRNN
NRBKQBRN
NRNBBKQR
RNQBBKRN
BRNQKBRN
QBNRKRBN
QBBNRKRN
NRBKNBRQ
NRNBBKQR
QRKNBBNR
BBRQNNKR
QBBRKNRN
QRBKNNRB
NRNBBKQR
RNQBBKRN
BRNQKBRN
QBRNKNBR
QBBNNRKR
NRBKQNRB
NRNBBKQR
RNQBBKRN
BRNQKBRN
QBRNKNBR
QBB...

result:

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

Test #7:

score: 0
Accepted
time: 676ms
memory: 3808kb

input:

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

output:

NRNBBKQR
BBRNKQRN
BBRKNQNR
QBBRKRNN
RBBQKRNN
NRNBBKQR
QRKNBBNR
BQRNKRNB
QBBRKRNN
RBBNKRQN
NRNBBKQR
BBRNKQRN
BBRKNQNR
QBBRKRNN
RBBNKRNQ
NRNBBKQR
BBRNKQRN
QBBRKNRN
QBRKBNNR
RBQNKRBN
NRNBBKQR
QRKNBBNR
QBRKNRBN
QBBNRKRN
QBBRKRNN
RBNQKRBN
NRNBBKQR
QRKNBBNR
BQRNKRNB
QBBRKRNN
QBBNNRKR
RBNNKRBQ
NRNBBKQR
QRK...

result:

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

Test #8:

score: 0
Accepted
time: 650ms
memory: 3744kb

input:

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

output:

NRNBBKQR
BNRBNKQR
QRBBKRNN
QBNNRKBR
QRNBKNBR
NRNBBKQR
BNRBNKQR
QRBBKRNN
QBBNRKNR
NRQBKNBR
NRNBBKQR
BQNBRNKR
QBBNRKNR
QBBNNRKR
NRNBKQBR
NRNBBKQR
RQKBBNRN
BBRQNKNR
QBBNRKNR
QBBNNRKR
QRNNKBBR
NRNBBKQR
RQKBBNRN
BBRQNKNR
QBBNRKNR
QBBRKRNN
NRQNKBBR
NRNBBKQR
BNRBNKQR
QRKBBNRN
NBNQBRKR
NRNQKBBR
NRNBBKQR
BBR...

result:

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

Test #9:

score: 0
Accepted
time: 618ms
memory: 3976kb

input:

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

output:

NRNBBKQR
QRKNBBNR
QNRKNBBR
QBBNRKNR
QBBRKNNR
NRNBBKQR
RNQBBKRN
QBBRNNKR
QNBNRBKR
QBBNNRKR
NBBRKQNR
NRNBBKQR
RQKBBNRN
QNNBBRKR
QBBNNRKR
QBBNRKNR
NBBRKNQR
NRNBBKQR
RNQBBKRN
QBBRNNKR
QNNRBKRB
QBNRKNBR
NRNBBKQR
RNQBBKRN
BRNQKBRN
QRNKNRBB
QBBNNRKR
NBQRKNBR
NRNBBKQR
RQKBBNRN
BBRQNKNR
NRQKNRBB
NBNRKQBR
NRN...

result:

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

Test #10:

score: 0
Accepted
time: 631ms
memory: 3812kb

input:

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

output:

NRNBBKQR
RNQBBKRN
BRNQKBRN
QBRNKNBR
QBBNRKNR
BBRQNKNR
NRNBBKQR
RNQBBKRN
BRNQKBRN
QRNKNRBB
QBBNRKNR
BBRNQKNR
NRNBBKQR
RQKBBNRN
BBRQNKNR
QBBNNRKR
BBRNNKQR
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBBNNRKR
BQRBNKNR
NRNBBKQR
RQKBBNRN
QNNBBRKR
BBQNRKNR
BNRBQKNR
NRNBBKQR
BNRBNKQR
NRNBBKQR
RQKBBNRN
QNNBBRKR
BBQNRKNR
QBR...

result:

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

Test #11:

score: 0
Accepted
time: 666ms
memory: 3684kb

input:

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

output:

NRNBBKQR
BNRBNKQR
QRBBKRNN
QBBRKRNN
RQNBBNKR
NRNBBKQR
RQKBBNRN
QNRBKNBR
QBBNNRKR
RNQBBNKR
NRNBBKQR
BNRBNKQR
BRKBNQRN
QBBRNNKR
RNNBBQKR
NRNBBKQR
RQKBBNRN
QRKBNNBR
RKNNBRQB
RQNNBBKR
NRNBBKQR
RNQBBKRN
QBNRBKRN
QBBRKRNN
RNQNBBKR
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBNRBNKR
RNNQBBKR
NRNBBKQR
RQKBBNRN
BRKBNQNR
QBB...

result:

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

Extra Test:

score: 0
Extra Test Passed