結果

問題 No.3 ビットすごろく
ユーザー こる
提出日時 2017-01-04 11:42:50
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 542 bytes
コンパイル時間 116 ms
コンパイル使用メモリ 12,288 KB
実行使用メモリ 11,264 KB
最終ジャッジ日時 2024-12-16 11:06:26
合計ジャッジ時間 2,315 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 15 WA * 3 RE * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

import math

n=int(input())
dp=[False]*(n+1)
table=[-1]*(n+1)
def fun(index):
    root=index

    if index==n:
        return 0

    if index<=0 or n<index:
        return math.inf

    if dp[root]:
        return math.inf

    if table[root]!=-1:
        return table[root]

    count=0
    while(index>0):
        if index&1:
            count+=1
        index=index>>1
    dp[root]=True
    ret=min(1+fun(root+count),1+fun(root-count))
    dp[root]=False
    table[root]=ret
    return ret

sum=fun(1)+1
print(-1 if sum==math.inf else sum)
0