結果
| 問題 |
No.2357 Guess the Function
|
| コンテスト | |
| ユーザー |
t33f
|
| 提出日時 | 2023-06-24 14:33:39 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 25 ms / 1,000 ms |
| コード長 | 930 bytes |
| コンパイル時間 | 652 ms |
| コンパイル使用メモリ | 66,600 KB |
| 最終ジャッジ日時 | 2025-02-15 01:57:55 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 10 |
ソースコード
#include <cassert>
#include <iostream>
using namespace std;
// #define TEST
int query(int);
void answer(int, int);
void solve() {
const int r = query(100);
if (r == 99) {
answer(99, 100);
} else {
const int s = query(100 - r - 1);
const int B = s + 1;
answer(((r - 100) % B + B) % B, B);
}
}
#ifdef TEST
int A, B;
void init(int a, int b) { A = a; B = b; }
int query(int x) {
return (x + A) % B;
}
void answer(int a, int b) {
cerr << A << ' ' << B << ' ' << a << ' ' << b << endl;
assert(a == A && b == B);
}
int main() {
for (int a = 0; a < 100; ++a)
for (int b = a + 1; b <= 100; ++b) {
init(a, b);
solve();
}
}
#else
int query(int x) {
cout << "? " << x << endl;
int r; cin >> r;
return r;
}
void answer(int a, int b) {
cout << "! " << a << ' ' << b << endl;
}
int main() {
solve();
}
#endif
t33f