結果

問題 No.3 ビットすごろく
ユーザー nuwasoginuwasogi
提出日時 2015-11-22 02:29:47
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 39 ms / 5,000 ms
コード長 630 bytes
コンパイル時間 162 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 11,264 KB
最終ジャッジ日時 2024-07-01 07:36:54
合計ジャッジ時間 2,211 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque
N=int(input())
def BitSugoroku():
    D = deque([0]*(N+1))
    D[1] = 1
    q = deque()
    q.append(1)
    while(q):
        v_now = q.popleft()
        if v_now == N:
            return D[v_now]
        bitcount = bin(v_now).count("1")
        v_rear = v_now + bitcount
        v_front = v_now - bitcount
        if(0 < v_rear <= N) and (D[v_rear]==0):
            q.append(v_rear)
            D[v_rear] = D[v_now] + 1
        if(0<v_front<=N) and (D[v_front]==0):
            q.append(v_front)
            D[v_front] = D[v_now] + 1
    return -1
if __name__ == "__main__":
    print(BitSugoroku())
0