塔子哥是一位电脑发烧友,热爱DIY组装电脑。他研究了各种零部件,了解到不同型号的零件有不同的性能和价格,而性价比也会有所差异。因此,他需要谨慎地选择零部件,以使他的电脑既具有出色的性能,又不会让他花费太多的钱。
这一次,塔子哥决定升级他的电脑,需要购买n个零件,每个零件有多个型号可供选择。他知道每个型号的价格 ai 和性能 vi ,并且他有一个限制条件,塔子哥需要每个零件选择一个型号并且总价格不能超过x元。他希望在这个限制条件下,选出的零件能够使他的电脑性能尽可能强大。塔子哥需要你的帮助,来找到最优的选择方案。
由题可知,每一种零件都必须选择一个,考虑深搜(dfs)枚举。
具体dfs实现:对于一种零件,循环遍历所有型号,如果说当前所剩下的钱足够买此型号,则递归对下一种零件;否则查看当前零件的下一个型号是否够钱买。如此递归,直到所有零件都被访问后记录最大性能;