結果

問題 No.153 石の山
ユーザー H3PO4
提出日時 2024-06-24 15:49:07
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 700 bytes
コンパイル時間 725 ms
コンパイル使用メモリ 12,416 KB
実行使用メモリ 10,752 KB
最終ジャッジ日時 2024-06-24 15:49:10
合計ジャッジ時間 2,682 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 21 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

N = int(input())
dp = [0] * (N + 1)
def div2(n):
n2 = n // 2
if n % 2 == 1:
return (n2, n2 + 1)
else:
return (n2, n2)
def div3(n):
n3 = n // 3
if n % 3 == 1:
return (n3, n3, n3 + 1)
elif n % 3 == 2:
return (n3, n3 + 1, n3 + 1)
else:
return (n3, n3, n3)
# 1: (G1=0)
# 2: 1, 1 (G2 =1+0^0)
# 3: 1, 2 1, 1, 1 (G3 = 1+0^1 ^ 1+0^0^0)
for i in range(2, N + 1):
d2 = div2(i)
grundy_2 = 1 + (dp[d2[0]] ^ dp[d2[1]])
if i == 2:
dp[i] = grundy_2
continue
d3 = div3(i)
grundy_3 = 1 + (dp[d3[0]] ^ dp[d3[1]] ^ dp[d3[2]])
dp[i] = grundy_2 ^ grundy_3
print("B" if dp[N] == 0 else "A")
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0