結果
| 問題 |
No.2521 Don't be Same
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-10-28 00:41:46 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 92 ms / 2,000 ms |
| コード長 | 927 bytes |
| コンパイル時間 | 1,956 ms |
| コンパイル使用メモリ | 194,584 KB |
| 最終ジャッジ日時 | 2025-02-17 16:25:23 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 27 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using Pi = pair<int, int>;
Pi printQ(int x, int y) {
if (x == y) {
cout << "B" << endl;
return Pi{0, 0};
}
int id = 1;
if (x < y) {
id ++;
swap(x, y);
}
if (y == 0) {
cout << "A " << id << " " << x << endl;
return Pi{id, x};
}
int d = x - y;
if (y & 1) {
d --;
} else {
d ++;
}
cout << "A " << id << " " << d << endl;
return Pi{id, d};
}
int main() {
int X, Y;
cin >> X >> Y;
if (abs(X - Y) == 1 && (X + Y) & 3 == 3) {
cout << "Second" << endl;
} else {
cout << "First" << endl;
auto [id, d] = printQ(X, Y);
((id - 1) ? Y : X) -= d;
}
while (true) {
char c;
cin >> c;
if (c == 'C') {
return 0;
} else if (c == 'D') {
return 0;
} else if (c == 'B') {
return 0;
} else {
assert(c == 'A');
int id, d;
cin >> id >> d;
((id - 1) ? Y : X) -= d;
}
auto [id, d] = printQ(X, Y);
((id - 1) ? Y : X) -= d;
}
}