結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-12-21 18:37:39 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 76 ms / 5,000 ms |
| コード長 | 435 bytes |
| コンパイル時間 | 164 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 71,168 KB |
| 最終ジャッジ日時 | 2024-07-01 10:01:24 |
| 合計ジャッジ時間 | 3,288 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
from collections import deque
N = int(input())
hist = [0 for _ in range(N+1)]
que = deque([(1,1)])
hist[1]=1
flag = 0
while que:
x,d = que.popleft()
if x==N:
flag = 1
break
n = bin(x)[2:].count("1")
if x-n>=1 and hist[x-n]==0:
hist[x-n]=1
que.append((x-n,d+1))
if x+n<=N and hist[x+n]==0:
hist[x+n]=1
que.append((x+n,d+1))
if flag==0:
print(-1)
else:
print(d)