結果

問題 No.3 ビットすごろく
ユーザー HIROPON87069639HIROPON87069639
提出日時 2016-03-08 23:54:32
言語 Python2
(2.7.18)
結果
AC  
実行時間 1,029 ms / 5,000 ms
コード長 732 bytes
コンパイル時間 598 ms
コンパイル使用メモリ 6,688 KB
実行使用メモリ 6,872 KB
最終ジャッジ日時 2023-09-13 23:45:55
合計ジャッジ時間 15,110 ms
ジャッジサーバーID
(参考情報)
judge12 / judge14
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 13 ms
6,364 KB
testcase_01 AC 13 ms
6,420 KB
testcase_02 AC 13 ms
6,356 KB
testcase_03 AC 87 ms
6,604 KB
testcase_04 AC 23 ms
6,460 KB
testcase_05 AC 318 ms
6,712 KB
testcase_06 AC 100 ms
6,496 KB
testcase_07 AC 47 ms
6,396 KB
testcase_08 AC 213 ms
6,528 KB
testcase_09 AC 508 ms
6,716 KB
testcase_10 AC 714 ms
6,748 KB
testcase_11 AC 432 ms
6,608 KB
testcase_12 AC 304 ms
6,628 KB
testcase_13 AC 68 ms
6,620 KB
testcase_14 AC 669 ms
6,752 KB
testcase_15 AC 1,006 ms
6,752 KB
testcase_16 AC 872 ms
6,872 KB
testcase_17 AC 973 ms
6,740 KB
testcase_18 AC 57 ms
6,508 KB
testcase_19 AC 1,028 ms
6,768 KB
testcase_20 AC 20 ms
6,596 KB
testcase_21 AC 13 ms
6,452 KB
testcase_22 AC 687 ms
6,728 KB
testcase_23 AC 1,029 ms
6,760 KB
testcase_24 AC 1,026 ms
6,824 KB
testcase_25 AC 999 ms
6,752 KB
testcase_26 AC 14 ms
6,384 KB
testcase_27 AC 76 ms
6,528 KB
testcase_28 AC 845 ms
6,692 KB
testcase_29 AC 447 ms
6,824 KB
testcase_30 AC 14 ms
6,348 KB
testcase_31 AC 15 ms
6,444 KB
testcase_32 AC 384 ms
6,672 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*-
from collections import Counter
from collections import deque

N = input()
Blist = [ 0 for i in range(N)]
for i in range(N):
    tmp = Counter(bin(i+1))
    Blist[i] = tmp["1"]

#幅優先探索
openlist = deque()
closelist = deque()
cntlist = deque()
rlist = deque()
openlist.append(0)
cntlist.append(1)
while len(openlist) != 0:
    point = openlist.popleft()
    cnt = cntlist.popleft()
    if point == N-1:
        print cnt
        exit()
    elif -1 < point < N-1 and closelist.count(point) == 0:
        cnt += 1
        openlist.append(point + Blist[point])
        openlist.append(point - Blist[point])
        closelist.append(point)
        cntlist.append(cnt)
        cntlist.append(cnt)
print -1
0