結果
| 問題 |
No.3 ビットすごろく
|
| コンテスト | |
| ユーザー |
_karasu32
|
| 提出日時 | 2020-01-09 06:45:05 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 46 ms / 5,000 ms |
| コード長 | 384 bytes |
| コンパイル時間 | 87 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-07-01 09:36:52 |
| 合計ジャッジ時間 | 2,349 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
from heapq import heappop,heappush
N = int(input())
D = [True]*(N+1)
Q = [(1,1)]
ans = -1
while Q:
q = heappop(Q)
if q[1]==N:
ans=q[0]
break
f,b = q[1]+bin(q[1]).count("1"),q[1]-bin(q[1]).count("1")
if f<=N and D[f]:
D[f] = False
heappush(Q,(q[0]+1,f))
if b>0 and D[b]:
D[b] = False
heappush(Q,(q[0]+1,b))
print(ans)
_karasu32