結果
問題 | No.3 ビットすごろく |
ユーザー |
![]() |
提出日時 | 2020-11-23 16:31:34 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 107 ms / 5,000 ms |
コード長 | 268 bytes |
コンパイル時間 | 84 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-07-01 10:00:33 |
合計ジャッジ時間 | 4,510 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
コンパイルメッセージ
Syntax OK
ソースコード
N=gets.to_i dp=Array.new(N+1,-1) Q=[[1,1]] until Q.empty? u,v=Q.shift next if u<1||u>N||dp[u]!=-1 dp[u]=v ua=u+u.to_s(2).count('1') ub=u-u.to_s(2).count('1') Q.push([ua,v+1]) if dp[ua]==-1 && ua<=N Q.push([ub,v+1]) if dp[ub]==-1 && ub>=1 end puts dp[N]