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