結果

問題 No.3 ビットすごろく
ユーザー syuki791
提出日時 2019-02-03 11:01:41
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 730 bytes
コンパイル時間 99 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 11,264 KB
最終ジャッジ日時 2024-12-16 00:48:43
合計ジャッジ時間 2,305 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 18 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque
def countbinary(x):
    return bin(x).count("1")

n = int(input())
a = 1
list2 = []
flag = []
q = deque([])
for num2 in range(0,n+1):
    list2.append(10000000)
    flag.append(False)
list2[1] = 1
q.append(1)
judge = True
while judge:
    judge = False
    a = q.pop()
    num = int(countbinary(a))
    flag[a] = True
    if a - num > 0 and (flag[a-num] is False):
        list2[a-num]=min(list2[a]+1,list2[a-num])
        judge = True
        num3 = a - num
        q.append(num3)
    if a + num <= n and (flag[a+num] is False):
        list2[a+num]=min(list2[a] +1,list2[a+num])
        num4 = a + num
        judge = True
        q.append(num4)
if flag[n]:
    print(list2[n])
else:
    print(-1)
0