QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#172672 | #7179. Fischer's Chess Guessing Game | ucup-team206# | AC ✓ | 185ms | 4044kb | C++17 | 2.3kb | 2023-09-09 20:11:32 | 2023-09-09 20:11:33 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int n=8;
string p="RKRBBNQN";
vector<string> v;
map<vector<string>,string> bc;
void dfs(vector<string> vv,int d)
{
if(d==5)
{
if(vv.size()!=1)
cout<<vv.size()<<endl;
return;
}
vector<vector<string> >best;
int bmx=1e9;
string bs;
for(auto s:v)
{
vector<vector<string> >f(9);
int mx=0;
for(auto x:vv)
{
int c=0;
for(int i=0;i<n;i++)
if(x[i]==s[i])
c++;
f[c].push_back(x);
mx=max(mx,(int)f[c].size());
}
if(mx<bmx)
bmx=mx,best=f,bs=s;
}
bc[vv]=bs;
for(auto x:best)
if(x.size())
dfs(x,d+1);
}
string ans="RKRBBQNN";
void get(vector<string> vv,int d)
{
if(d==5)
{
assert(vv.size()==1);
cout<<vv[0]<<endl;
int res=0;
cin>>res;
return;
}
string bs=bc[vv];
cout<<bs<<endl;
int ret=0;
for(int i=0;i<n;i++)
if(ans[i]==bs[i])
ret++;
cin>>ret;
if(ret==8)
return;
vector<string> nv;
for(auto x:vv)
{
int c=0;
for(int i=0;i<n;i++)
if(x[i]==bs[i])
c++;
if(c==ret)
nv.push_back(x);
}
get(nv,d+1);
}
int main()
{
srand(time(NULL));
sort(p.begin(),p.end());
vector<string> all;
do {
all.push_back(p);
bool ok=1;
for(int i=0;i<n;i++)
if(p[i]=='K')
{
bool L=0,R=0;
for(int j=0;j<i;j++)
L|=p[j]=='R';
for(int j=i+1;j<n;j++)
R|=p[j]=='R';
ok&=L;
ok&=R;
}
int f=0;
for(int i=0;i<n;i++)
if(p[i]=='B')
f^=i;
ok&=(f&1);
if(ok)
v.push_back(p);
}while(next_permutation(p.begin(),p.end()));
dfs(v,0);
// return 0;
int T=100;
while(T--)
{
string S;
cin>>S;
if(S[0]=='E')
break;
// ans=v[rand()%v.size()];
cin>>S;
get(v,0);
}
}
详细
Test #1:
score: 100
Accepted
time: 167ms
memory: 3964kb
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: 178ms
memory: 4044kb
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: 175ms
memory: 4004kb
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: 176ms
memory: 3972kb
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: 165ms
memory: 3928kb
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: 185ms
memory: 3976kb
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: 177ms
memory: 3892kb
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: 171ms
memory: 3960kb
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: 178ms
memory: 3980kb
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: 183ms
memory: 3904kb
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: 179ms
memory: 4036kb
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