結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2016-11-11 11:09:08 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 629 bytes |
コンパイル時間 | 46 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 25,088 KB |
最終ジャッジ日時 | 2024-11-25 08:01:29 |
合計ジャッジ時間 | 102,315 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 19 TLE * 14 |
コンパイルメッセージ
Main.rb:34: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
N = gets.to_i INF = 10000 @dp = Array.new(N+1, INF) @dp[1] = 1 def binary_1_count(num) count_1 = 0 while num > 1 do count_1 += 1 if num % 2 == 1 num /= 2 end count_1 += 1 end # iと書かれたマスに@dp(i)回目で移動してきた # @dpのこの位置は前もって書いてあるものとする def move(i) count = binary_1_count(i) if i - count > 0 && @dp[i]+1 < @dp[i-count] @dp[i-count] = @dp[i]+1 move(i-count) end if i + count <= N && @dp[i]+1 < @dp[i+count] @dp[i+count] = @dp[i]+1 move(i+count) end end move(1) p @dp if @dp[N] == INF puts -1 else puts @dp[N] end