結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2015-11-09 00:33:26 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 44 ms / 5,000 ms |
コード長 | 735 bytes |
コンパイル時間 | 87 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-01 07:35:00 |
合計ジャッジ時間 | 2,256 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
#coding=UTF-8 def getnoone(zahl): if kiroku[zahl]==None: kiroku[zahl]=getnoone(zahl//2)+zahl%2 return kiroku[zahl] N=int(input()) hosu=[-1]*(N+1) hosu[1]=1 koushin=[1] tesu=1 kiroku=[None]*(N+1) kiroku[0]=0 kiroku[1]=1 while koushin: tmp=[] tesu=tesu+1 for masu in koushin: if masu-getnoone(masu)>0: if hosu[masu-getnoone(masu)]==-1: hosu[masu-getnoone(masu)]=tesu tmp.append(masu-getnoone(masu)) if masu+getnoone(masu) <=N: if hosu[masu+getnoone(masu)]==-1: hosu[masu+getnoone(masu)]=tesu tmp.append(masu+getnoone(masu)) koushin=tmp #print(kiroku) #print(hosu) print(hosu[N])