結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2019-06-30 17:12:29 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 890 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 23,584 KB |
最終ジャッジ日時 | 2024-07-06 08:05:48 |
合計ジャッジ時間 | 11,782 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 7 WA * 2 TLE * 1 -- * 23 |
ソースコード
N=int(input()) G=[[]for i in range(N+1)] T=[10**20 for i in range(N+1)] G[1].append(2) for i in range(2,N+1): cnt=0 n=i for j in range(14): if n//(2**(13-j))==1: cnt+=1 n%=(2**(13-j)) #print(i,n,cnt) G[i].append(i+cnt) G[i].append(i-cnt) #print(G) ans=1 L=[0 for i in range(N+1)] L[1]=1 #print(L) import heapq Q=[] heapq.heapify(Q) heapq.heappush(Q,[2,2]) for i in range(10**7): if len(Q)==0: break else: L[Q[0][1]]=Q[0][0] S=Q[0][1] Le=Q[0][0] heapq.heappop(Q) #print(G[S]) #print(L) if G[S][0]<=len(L)-1: if L[G[S][0]]==0: heapq.heappush(Q,[Le+1,G[S][0]]) if G[S][1]<=len(L)-1: if L[G[S][1]]==0: heapq.heappush(Q,[Le+1,G[S][1]]) #print(G) #print(L) if L[N]!=0: print(L[N]) else: print(-1)