日々精進

新しく学んだことを書き留めていきます

プログラミングコンテストチャレンジブック演習「部分和問題」

今回のお題はこちら

$ary = [1, 2, 4, 7] #input
K = 15 #input

def dfs(i, sum)
  return sum == K if i == $ary.length
  return true if dfs(i + 1, sum)
  return true if dfs(i + 1, sum + $ary[i])
  return false
end

if dfs(0, 0)
  puts "YES"
else
  puts "NO"
end