結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
tjake
|
| 提出日時 | 2015-12-06 02:38:16 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 27 ms / 5,000 ms |
| コード長 | 399 bytes |
| コンパイル時間 | 52 ms |
| コンパイル使用メモリ | 7,040 KB |
| 実行使用メモリ | 7,168 KB |
| 最終ジャッジ日時 | 2024-07-01 07:37:37 |
| 合計ジャッジ時間 | 1,631 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
from collections import deque
n = input()
mv = [bin(i).count("1") for i in xrange(n+1)]
dist = [-1]*(n+1)
deq = deque()
deq.append(1)
dist[1] = 1
while deq:
v = deq.popleft()
if v+mv[v]<=n and dist[v+mv[v]]==-1:
deq.append(v+mv[v])
dist[v+mv[v]] = dist[v]+1
if v-mv[v]>0 and dist[v-mv[v]]==-1:
deq.append(v-mv[v])
dist[v-mv[v]] = dist[v]+1
print dist[n]
tjake