結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2023-01-15 13:24:23 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 604 bytes |
コンパイル時間 | 491 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 76,928 KB |
最終ジャッジ日時 | 2024-12-28 04:23:02 |
合計ジャッジ時間 | 3,675 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 WA * 1 |
ソースコード
from collections import deque n=int(input()) if n==1: print(0) exit() def bit_cnt(n): result=0 while(n!=0): if n%2==1: result+=1 n//=2 return result inf=float("inf") dist=[inf for _ in range(n)] dist[0]=1 Q=deque() Q.append(0) while(Q): a=Q.popleft() x=bit_cnt(a+1) if 0<=a+x<n: if dist[a+x]>dist[a]+1: dist[a+x]=dist[a]+1 Q.append(a+x) if 0<=a-x<n: if dist[a-x]>dist[a]+1: dist[a-x]=dist[a]+1 Q.append(a-x) ans=dist[n-1] if ans==inf: print(-1) else: print(ans)