結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2015-12-06 12:32:24 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 594 bytes |
コンパイル時間 | 122 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-09-14 15:17:27 |
合計ジャッジ時間 | 4,994 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 15 |
コンパイルメッセージ
Main.rb:31: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
def process(count, ni) if ni == $n $min = count if count < $min return end $b[ni] = true front = ni + $bit[ni] back = ni - $bit[ni] if front <= $n && !$b[front] process(count + 1, front) end if back > 0 && !$b[back] process(count + 1, back) end return end $n = gets.to_i $b = Array.new($n + 1, false) $bit = Array.new($n + 1, 0) $min = 99999999 ($n + 1).times do |i| s = i.to_s(2) s.each_char do |c| $bit[i] += 1 if c == "1" end end process(1, 1) if $min < 99999999 puts $min else puts -1 end