QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#171916 | #7179. Fischer's Chess Guessing Game | ucup-team1883# | AC ✓ | 1867ms | 4284kb | C++14 | 1.7kb | 2023-09-09 17:47:49 | 2023-09-09 17:47:50 |
Judging History
answer
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
using namespace std;
vector<string> Iper;
#define LOG(f...) fprintf(stderr, f)
void solve(vector<string> per, int depth = 1) {
if (per.size() == 1) {
printf("%s\n", per[0].c_str());
fflush(stdout);
scanf("%*d");
return;
}
vector<vector<string>> optimal;
string que;
int mn = 961;
for (string s : Iper) {
vector<vector<string>> mat(9);
for (string t : per) {
int cnt = 0;
for (int j = 0; j < 8; ++j)
cnt += s[j] == t[j];
mat[cnt].push_back(t);
}
int mx = 0;
for (int i = 0; i < 9; ++i)
mx = max(mx, (int)mat[i].size());
if (mx < mn) mn = mx, optimal = mat, que = s;
}
printf("%s\n", que.c_str());
fflush(stdout);
int num;
scanf("%d", &num);
if (num != 8) solve(optimal[num], depth + 1);
}
int main() {
string s = "BBKNNQRR";
vector<string> per;
int ans = 0;
do {
bool tag = true;
int p0 = -1, p1 = -1;
for(int i = 0; i < 8; i++) {
if(s[i] == 'B') {
if(p0 != -1) p1 = i;
else p0 = i;
}
}
tag &= (p0 % 2) != (p1 % 2);
p0 = p1 = -1;
int p = -1;
for(int i = 0; i < 8; i++) {
if(s[i] == 'R') {
if(p0 != -1) p1 = i;
else p0 = i;
}
if(s[i] == 'K') {
p = i;
}
}
tag &= (p0 <= p && p <= p1);
ans += tag;
if (tag) per.push_back(s);
} while(next_permutation(s.begin(), s.end()));
Iper = per;
while (true) {
char s[100];
scanf("%s%*d", s);
if (*s == 'G') solve(per);
else return 0;
}
}
详细
Test #1:
score: 100
Accepted
time: 18ms
memory: 4072kb
input:
GAME 1 1 0 2 4 8 END
output:
NRBBNKQR BRNNKBQR NBRKNQBR QBRKBRNN RKRBBQNN
result:
ok (c) correct after 1 tests, max moves 5 (1 test case)
Test #2:
score: 0
Accepted
time: 1836ms
memory: 4016kb
input:
GAME 1 1 0 2 4 8 GAME 2 2 3 3 1 1 8 GAME 3 1 0 1 2 8 GAME 4 1 0 2 2 1 8 GAME 5 2 3 4 2 8 GAME 6 2 2 4 0 0 8 GAME 7 0 2 3 2 0 8 GAME 8 1 3 3 0 8 GAME 9 0 3 3 0 8 GAME 10 0 3 3 1 8 GAME 11 0 5 1 0 8 GAME 12 1 2 2 1 0 8 GAME 13 1 1 5 1 8 GAME 14 0 4 4 3 8 GAME 15 1 2 1 2 1 8 GAME 16 1 0 3 1 0 8 GAME 17...
output:
NRBBNKQR BRNNKBQR NBRKNQBR QBRKBRNN RKRBBQNN NRBBNKQR RNBBQKRN RQKBNNBR BBRNNQKR BBNNRKQR RKRBBNQN NRBBNKQR BRNNKBQR NBRKNQBR BNRKQRNB RKRBBNNQ NRBBNKQR BRNNKBQR NBRKNQBR QBRKBRNN BBNNQRKR RKRBQNBN NRBBNKQR RNBBQKRN RQKBNNBR QNRBBKNR RKRBNQBN NRBBNKQR RNBBQKRN QNRBKNBR BBNNQRKR BBNNRKQR RKRBNNBQ NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #3:
score: 0
Accepted
time: 1828ms
memory: 4284kb
input:
GAME 1 2 2 3 1 2 8 GAME 2 2 2 2 5 2 8 GAME 3 3 1 4 2 8 GAME 4 3 1 3 1 1 8 GAME 5 2 3 5 2 8 GAME 6 3 1 3 0 2 8 GAME 7 1 3 5 1 8 GAME 8 1 3 3 4 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 8 GAME 13 0 2 2 3 8 GAME 14 1 1 2 2 2 8 GAME 15 0 1 0 1 8 GAME 16 0 2 2 1 8 GAME ...
output:
NRBBNKQR RNBBQKRN QNRBKNBR BNNQRBKR BBQNNRKR RKQBBNNR NRBBNKQR RNBBQKRN QNRBKNBR RBNNBQKR BBNNQRKR RKNBBQNR NRBBNKQR RBBNQKRN BQNBRNKR BRKRNNQB RKNBBNQR NRBBNKQR RBBNQKRN BQNBRNKR BBRNKNRQ BBNNRKQR RKQBNNBR NRBBNKQR RNBBQKRN RQKBNNBR BBNNRKQR RKNBQNBR NRBBNKQR RBBNQKRN BQNBRNKR BBRNKNRQ BBNQRKNR RKN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #4:
score: 0
Accepted
time: 1830ms
memory: 4032kb
input:
GAME 1 1 2 1 4 0 8 GAME 2 3 1 0 1 8 GAME 3 2 0 3 0 8 GAME 4 1 1 0 1 0 8 GAME 5 2 0 4 0 0 8 GAME 6 3 0 1 0 8 GAME 7 2 1 1 0 8 GAME 8 2 2 1 1 0 8 GAME 9 3 0 0 6 8 GAME 10 2 0 4 1 0 8 GAME 11 2 1 3 1 1 8 GAME 12 3 0 0 4 8 GAME 13 2 2 1 1 2 8 GAME 14 3 1 4 5 8 GAME 15 2 1 1 3 1 8 GAME 16 1 3 0 4 8 GAME ...
output:
NRBBNKQR BRNNKBQR BNRBKRQN BRKQNBNR BBNNQRKR QRKRBBNN NRBBNKQR RBBNQKRN BQNBRNKR BNQRKRNB NRKRBBQN NRBBNKQR RNBBQKRN BRKQNRNB BBQNNRKR NRKRBBNQ NRBBNKQR BRNNKBQR RKQNRBBN BBRKNNRQ BBNNQRKR QRKRBNNB NRBBNKQR RNBBQKRN BRKQNRNB BBNQRNKR BBNNQRKR NRKRBQNB NRBBNKQR RBBNQKRN BNRBQNKR BBNQNRKR NRKRBNQB NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #5:
score: 0
Accepted
time: 1850ms
memory: 4020kb
input:
GAME 1 0 4 5 2 8 GAME 2 0 3 0 2 8 GAME 3 0 4 5 3 8 GAME 4 0 5 1 3 8 GAME 5 0 4 4 2 8 GAME 6 0 6 4 1 8 GAME 7 1 0 2 5 8 GAME 8 3 4 1 3 8 GAME 9 2 2 0 0 2 8 GAME 10 0 1 0 2 8 GAME 11 1 2 3 1 3 8 GAME 12 0 2 4 0 8 GAME 13 1 0 4 2 1 8 GAME 14 0 3 1 1 8 GAME 15 1 1 2 1 3 8 GAME 16 2 2 0 1 1 8 GAME 17 1 0...
output:
NRBBNKQR RKNNRQBB QNRKRBBN BBNNRKRQ RQNKRBBN NRBBNKQR RKNNRQBB BQRNKRNB NRKQRNBB RNQKRBBN NRBBNKQR RKNNRQBB QNRKRBBN BBNNRKRQ RNNKRBBQ NRBBNKQR RKNNRQBB BBNRKQRN BBNQRNKR RQNKRNBB NRBBNKQR RKNNRQBB QNRKRBBN BBRKQNRN RNQKRNBB NRBBNKQR RKNNRQBB BNNRKQRB BBNNQRKR RNNKRQBB NRBBNKQR BRNNKBQR NBRKNQBR QBR...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #6:
score: 0
Accepted
time: 1867ms
memory: 4012kb
input:
GAME 1 3 3 1 2 0 8 GAME 2 3 4 0 0 8 GAME 3 4 3 1 0 8 GAME 4 3 2 0 3 8 GAME 5 3 3 0 2 1 8 GAME 6 4 2 0 1 8 GAME 7 1 3 1 1 1 8 GAME 8 2 2 0 4 0 8 GAME 9 2 1 5 1 8 GAME 10 1 2 0 2 1 8 GAME 11 2 1 5 0 8 GAME 12 2 1 6 2 8 GAME 13 3 0 2 3 2 8 GAME 14 2 1 3 5 4 8 GAME 15 4 2 4 4 8 GAME 16 4 1 4 5 8 GAME 17...
output:
NRBBNKQR RBBNQKRN BBQRNKNR BBNRQKRN BBNNRKQR QRBKNBRN NRBBNKQR RBBNQKRN BBNNRQKR BBNQRKNR NRBKQBRN NRBBNKQR BNRBNKRQ BNNRQBKR BNRBQKNR NRBKNBRQ NRBBNKQR RBBNQKRN BBNQRKNR BQRKNRNB QRBKNNRB NRBBNKQR RBBNQKRN BBQRNKNR BBRNKNRQ BBNNQRKR NRBKQNRB NRBBNKQR BNRBNKRQ BBNNRKQR BBNQRKRN NRBKNQRB NRBBNKQR BRN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #7:
score: 0
Accepted
time: 1836ms
memory: 4076kb
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 8 GAME 5 0 3 2 1 8 GAME 6 0 4 1 4 8 GAME 7 2 4 2 0 8 GAME 8 3 3 0 1 1 8 GAME 9 2 4 3 2 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 8 GAME 14 1 1 4 1 1 8 GAME 15 1 2 4 4 8 GAME 16 0 5 2 3 8 GAME 17 0...
output:
NRBBNKQR BRNNKBQR RKQNRBBN BBRNQKRN BBNNRKQR RBBQKRNN NRBBNKQR RNBBQKRN RQKBNNBR BBNRNKRQ BBNNQRKR RBBNKRQN NRBBNKQR BRNNKBQR BNRBKRQN BBNNRKRQ BBNQNRKR RBBNKRNQ NRBBNKQR RKNNRQBB BQRNKRNB NQNRKRBB RBQNKRBN NRBBNKQR RKNNRQBB BQRNKRNB QRNKBNRB RBNQKRBN NRBBNKQR RKNNRQBB QNRKRBBN BBNNQRKR RBNNKRBQ NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #8:
score: 0
Accepted
time: 1833ms
memory: 4276kb
input:
GAME 1 3 0 3 3 8 GAME 2 4 1 2 2 8 GAME 3 4 1 2 4 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 8 GAME 8 1 4 1 5 8 GAME 9 0 1 4 4 8 GAME 10 1 2 6 2 8 GAME 11 2 3 1 1 2 8 GAME 12 1 2 6 1 8 GAME 13 0 2 0 3 8 GAME 14 0 1 5 2 8 GAME 15 1 4 2 3 8 GAME 16 0 2 0 2 8 GAME 17 1 1 2...
output:
NRBBNKQR RBBNQKRN BNRBQNKR BQNBNRKR QRNBKNBR NRBBNKQR BNRBNKRQ NQBRNBKR BBNRKQNR NRQBKNBR NRBBNKQR BNRBNKRQ NQBRNBKR BBNRKQNR NRNBKQBR NRBBNKQR RNBBQKRN BRKQNRNB BBRQKNNR BBNNQRKR QRNNKBBR NRBBNKQR RBBNQKRN BQNBRNKR BBRNNQKR BBNNQRKR NRQNKBBR NRBBNKQR RBBNQKRN BNRBQNKR BBNQNRKR BBNQRKNR NRNQKBBR NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #9:
score: 0
Accepted
time: 1717ms
memory: 4088kb
input:
GAME 1 2 1 0 3 2 8 GAME 2 3 2 3 2 8 GAME 3 4 0 1 3 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 8 GAME 10 1 4 4 2 8 GAME 11 2 0 0 4 2 8 GAME 12 2 1 1 1 2 8 GAME 13 3 6 1 2 8 GAME 14 2 6 3 8 GAME 15 3 6 2 3 8 GAME 16 1 1 4 1 2 8 GAME ...
output:
NRBBNKQR RNBBQKRN NRNKBRQB BBRKRNNQ BBNNQRKR QBBRKNNR NRBBNKQR RBBNQKRN BBNQRKNR BBNRQKRN NBBRKQNR NRBBNKQR BNRBNKRQ BRNKQBNR BBNNRKQR NBBRKNQR NRBBNKQR BRNNKBQR RBQNBNKR BBNQRKNR BBNNQRKR QBNRKNBR NRBBNKQR RNBBQKRN BRKQNRNB BQRNKBNR BBNNQRKR NBQRKNBR NRBBNKQR RNBBQKRN BRKQNRNB BQRNKBNR BBNNQRKR NBN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #10:
score: 0
Accepted
time: 1739ms
memory: 4032kb
input:
GAME 1 3 2 6 4 8 GAME 2 2 2 2 3 5 8 GAME 3 4 4 2 4 8 GAME 4 4 5 2 8 GAME 5 3 2 4 4 8 GAME 6 5 5 2 8 GAME 7 2 1 1 4 3 8 GAME 8 3 2 5 2 8 GAME 9 4 2 5 8 GAME 10 3 3 4 3 3 8 GAME 11 4 3 1 3 8 GAME 12 3 4 3 2 8 GAME 13 3 1 2 2 2 8 GAME 14 4 3 1 5 8 GAME 15 5 3 2 1 8 GAME 16 4 5 1 8 GAME 17 5 5 4 8 GAME ...
output:
NRBBNKQR RBBNQKRN BBNQRKNR BBNNRKQR BBRQNKNR NRBBNKQR RNBBQKRN QNRBKNBR RBNNBQKR BBNNQRKR BBRNQKNR NRBBNKQR BNRBNKRQ BBNRKNRQ BBNNQRKR BBRNNKQR NRBBNKQR BNRBNKRQ BBNNRKRQ BQRBNKNR NRBBNKQR RBBNQKRN BBNQRKNR BRNBQKRN BNRBQKNR NRBBNKQR BQRBNNKR NQBBRNKR BNRBNKQR NRBBNKQR RNBBQKRN NRNKBRQB BBNQRKNR BBN...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Test #11:
score: 0
Accepted
time: 1820ms
memory: 4092kb
input:
GAME 1 2 2 3 3 3 8 GAME 2 2 3 4 4 8 GAME 3 2 3 3 3 3 8 GAME 4 1 4 4 3 8 GAME 5 1 3 6 2 8 GAME 6 1 3 4 4 2 8 GAME 7 4 3 3 6 8 GAME 8 3 1 6 5 8 GAME 9 4 3 4 3 8 GAME 10 3 1 3 2 4 8 GAME 11 3 0 3 5 8 GAME 12 2 1 2 5 6 8 GAME 13 5 5 5 8 GAME 14 5 4 0 8 GAME 15 6 1 1 8 GAME 16 4 1 5 3 8 GAME 17 5 3 2 2 8...
output:
NRBBNKQR RNBBQKRN QNRBKNBR BNNQRBKR BBNNQRKR RQNBBNKR NRBBNKQR RNBBQKRN RQKBNNBR QNRBBKNR RNQBBNKR NRBBNKQR RNBBQKRN RQKBNNBR BBRNNQKR BBNNQRKR RNNBBQKR NRBBNKQR BRNNKBQR QNBNRBKR BBNQNRKR RQNNBBKR NRBBNKQR BRNNKBQR RBQNBNKR BBNNRKQR RNQNBBKR NRBBNKQR BRNNKBQR RBQNBNKR BBNQNRKR BBNNRKQR RNNQBBKR NRB...
result:
ok (c) correct after 96 tests, max moves 6 (96 test cases)
Extra Test:
score: 0
Extra Test Passed