QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#321667 | #7703. Base Hi-Lo Game | ishmeal# | RE | 1ms | 3636kb | C++23 | 938b | 2024-02-05 05:08:56 | 2024-02-05 05:08:57 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
// 32
int b;
string s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
void run() {
int d; cin >> d;
vector<pair<int,int>> digits(d, {0,b});
//for (int _ = 0; _ < (int)log2l(b)+2; _++) {
while (1) {
for (auto [l,r] : digits) cout << s[(l+r)/2], assert((l+r)/2 < b);
cout << endl;
string t; cin >> t;
if (t == "correct") return;
assert(t.size() == (unsigned)d);
for (int i = 0; i < d; i++) {
int m = (digits[i].first + digits[i].second) / 2;
if (t[i] == '+') digits[i].first = m+1;
else if (t[i] == '-') digits[i].second = m;
else digits[i].first = m, digits[i].second = m+1;
if (digits[i].first >= digits[i].second) {
cout << "cheater" << endl;
string t;
cin >> t;
assert(t == "correct");
return;
}
}
}
assert(0);
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int n; cin >> b >> n;
while (n--) run();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3636kb
input:
10 2 5 ----= -=++= ==-== correct 6 --++-+ =+-=-+ ==-=-= correct
output:
55555 22225 12445 12345 555555 228828 247819 246809
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 1ms
memory: 3528kb
input:
38 2 1 + + + + correct 3 --- +-= --= --= --= correct
output:
J T Y a b JJJ 999 E49 C29 B19 A09
result:
ok correct (2 test cases)
Test #3:
score: -100
Runtime Error
input:
10 6 3 -++ --+ =-= =-= correct 3 -=+ -++ correct 5 ++++= +=--= ===-+ correct 4 ---- ==== ++++ correct 4 ++++ ++++ ==== correct 4 ==== ==== ==== ==== ====
output:
555 288 179 169 cheater 555 258 cheater 55555 88885 98775 cheater 5555 2222 2222 cheater 5555 8888 9999 9999 5555 5555 5555 5555 5555 5555