結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
La
|
| 提出日時 | 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]
La