結果
問題 | No.3 ビットすごろく |
ユーザー |
![]() |
提出日時 | 2019-06-28 22:06:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 61 ms / 5,000 ms |
コード長 | 470 bytes |
コンパイル時間 | 156 ms |
コンパイル使用メモリ | 81,912 KB |
実行使用メモリ | 71,440 KB |
最終ジャッジ日時 | 2024-07-01 09:23:22 |
合計ジャッジ時間 | 2,927 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
def bc(n): c=0 while n: if n%2: n-=1 c+=1 n=int(n/2) return c n=int(input()) b=[bc(i+1) for i in range(n)] c=[9999999 for i in range(n)] c[0]=1 v=1 while(v): v=0 for j in range(n): if j-b[j]>=0 and c[j-b[j]]>c[j]+1: v=1 c[j-b[j]]=c[j]+1 if j+b[j]<n and c[j+b[j]]>c[j]+1: v=1 c[j+b[j]]=c[j]+1 if c[n-1]<n+1: print(c[n-1]) else: print(-1)