結果
問題 | No.3 ビットすごろく |
ユーザー |
![]() |
提出日時 | 2015-06-17 13:30:44 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 114 ms / 5,000 ms |
コード長 | 451 bytes |
コンパイル時間 | 49 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-07-01 07:25:27 |
合計ジャッジ時間 | 4,346 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.chomp.to_i @memo = Hash.new(0) step = 1 set = [1] @memo[1] = 1 while set.length > 0 next_set = [] step += 1 set.each do |i| move = i.to_s(2).scan('1').length if i + move <= n && !@memo.key?(i + move) @memo[i + move] = step next_set << i + move end if i - move > 1 && !@memo.key?(i - move) @memo[i - move] = step next_set << i - move end end set = next_set end unless @memo.key?(n) puts '-1' else puts @memo[n] end