結果
問題 |
No.3112 Decrement or Mod Game
|
ユーザー |
|
提出日時 | 2025-04-19 19:48:33 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,309 bytes |
コンパイル時間 | 610 ms |
コンパイル使用メモリ | 66,952 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-04-19 19:48:35 |
合計ジャッジ時間 | 2,592 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 46 WA * 19 |
ソースコード
#include <iostream> using namespace std; // 再帰なしでシミュレーション bool canAliceWin(long long A, long long B) { // Alice と Bob が交互に操作を行い、どちらかが0になるまで続く bool aliceTurn = true; // Aliceが先行 while (A > 0 && B > 0) { if (aliceTurn) { // Aliceのターン if (A >= B && B > 0) { // AliceはAをBで割った余りにすることができる A %= B; } else { // 1減らす A--; } } else { // Bobのターン if (B >= A && A > 0) { // BobはBをAで割った余りにすることができる B %= A; } else { // 1減らす B--; } } // 次のターンは相手 aliceTurn = !aliceTurn; } // AかBが0になったとき、先に0になったほうが勝ち // 最後に0になったプレイヤーが勝つ return A == 0; // Aliceが0になった場合、Bobの勝ち } int main() { long long A, B; cin >> A >> B; if (canAliceWin(A, B)) { cout << "Alice" << endl; } else { cout << "Bob" << endl; } return 0; }