結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2020-06-16 21:54:58 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 46 ms / 5,000 ms |
コード長 | 376 bytes |
コンパイル時間 | 83 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-07-01 09:50:40 |
合計ジャッジ時間 | 2,249 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
from collections import deque n = int(input()) INF = 10000 dp = [INF]*(n+1) que = deque() que.append([1,1]) while len(que)>0: i,m = que.popleft() if dp[i] <= m: continue dp[i] = m bc = bin(i).count("1") if 1< i+bc <=n: que.append([i+bc,m+1]) if 1< i-bc <=n: que.append([i-bc,m+1]) if dp[n]==INF: print(-1) else: print(dp[n])