Official
A - シンプル石取りゲーム/Simple Game Editorial
by
A - シンプル石取りゲーム/Simple Game Editorial
by
kyopro_friends
まず、\(T=0\) のときのゲームを考えます。 \(N\) が偶数個のときは後手が最後の石を取り除くので後手の勝ち、 \(N\) が奇数個のときは先手が最後の石を取り除くので先手の勝ちです。
同様に、\(T=1\) のときのゲームでは、 \(N\) が偶数個のときは後手が最後の石を取り除くので先手の勝ち、 \(N\) が奇数個のときは先手が最後の石を取り除くので後手の勝ちです。
それぞれのケースを場合分けする次のような実装でACを得ることができます。
実装例(Python)
N,S,T=map(int,input().split())
if S==0:
first = "Alice"
second = "Bob"
else:
first = "Bob"
second = "Alice"
if T==0:
if N%2==0:
print(second)
else:
print(first)
else:
if N%2==0:
print(first)
else:
print(second)
なお、\(N\) の偶奇及び \(S,T\) の値が変化するごとに勝者が入れ替わることから、排他的論理和を使った次のような解法も存在します。
実装例(Python)
N,S,T=map(int,input().split())
if N%2 ^ S ^ T:
print("Alice")
else:
print("Bob")
posted:
last update:
