ゲーム

A. Mahmoud and Ehab and the even-odd game | Codeforces Round #473 (Div. 2)

Nのパリティを見る。 (1) Nが偶数のとき 最初のターンでMahmoudがN個取ってMahmoudの勝ち。 (2) N >= 3 かつNが奇数のとき 最初のターンでMahmoudは2<=a<N個の偶数しか取れない。よってEhabのターンでN-a個は奇数であり、EhabがN-a個取って勝つ。 (3) Nが1のとき 最初のターンでMahmoudは何もできないので、Ehabの勝ち。 int main() { ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(20); int n; cin >> n; cou…</n個の偶数しか取れない。よってehabのターンでn-a個は奇数であり、ehabがn-a個取って勝つ。>

F. Strange Nim | AtCoder Regular Contest 091

問題二人でニムっぽいゲーム山N個各山A[i]個の石山iから1<=a<=floor(X/K[i])個取れるA[i]=0, 1<=i<=N の状態で自分のターンになったら負け1<=N<=2001 <= A[i], K[i] <= 10^9 解説Grundy数がわかればいい。g(x, k) : x個の山, k個取れるときのGrundy数k>xのと…

Suffix Flip | CS Academy #67

実験すると以下を得る最下位ビットが1のとき勝ち最下位ビットが0のとき負け 証明(1)最下位ビットが1のとき常に最下位の1を選ぶことで相手に最下位ビットが0の状態を押し付けられる。値の変化はDAGになっていて(つまり値が必ず減少する)相手のターンで最後に…