結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2016-12-20 21:47:37 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 105 ms / 5,000 ms |
コード長 | 371 bytes |
コンパイル時間 | 44 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,800 KB |
最終ジャッジ日時 | 2024-07-01 08:11:52 |
合計ジャッジ時間 | 4,247 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i def f(x, dp) y = [] x.each { |i| j = i.to_s(2).count('1') [1, -1].each { |s| k = i + s * j if k <= N and not dp.include?(k) y.push(k) dp[k] = dp[i] + 1 end } } if y.size > 0 f(y, dp) end dp end dp = f([1], {1 => 1}) ans = if dp.include?(N) dp[N] else -1 end puts ans