QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#321663#7703. Base Hi-Lo Gameishmeal#TL 1ms3768kbC++23788b2024-02-05 04:45:442024-02-05 04:45:45

Judging History

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

  • [2024-02-05 04:45:45]
  • 评测
  • 测评结果:TL
  • 用时:1ms
  • 内存:3768kb
  • [2024-02-05 04:45:44]
  • 提交

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});

	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;

		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;
				return;
			}
		}
	}
}

int main() {
	cin.tie(0)->sync_with_stdio(0);

	int n; cin >> b >> n;
	while (n--) run();
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3540kb

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: 3768kb

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
Time Limit Exceeded

input:

10 6
3
-++
--+
=-=
=-=
correct
3

output:

555
288
179
169
cheater




















































































































































































































































































...

result: