字节跳动 8/18 笔试
第3题求助
n个事件,最大钻石数量m (1 <= n,m<= 1000)
每个事件有 x,y,z
有俩个选择
1 消耗 x钻石 获得 y金币
2 获得 z钻石
钻石数量超出m的部分会消失,最多拥有m个钻石
事件结束后,可以将钻石1比1换成金币
问最多能得到多少金币
#字节跳动##秋招##笔试##游戏##游戏客户端#
n个事件,最大钻石数量m (1 <= n,m<= 1000)
每个事件有 x,y,z
有俩个选择
1 消耗 x钻石 获得 y金币
2 获得 z钻石
钻石数量超出m的部分会消失,最多拥有m个钻石
事件结束后,可以将钻石1比1换成金币
问最多能得到多少金币
#字节跳动##秋招##笔试##游戏##游戏客户端#
全部评论
我直接存的每一个阶段所有的可能情况,按照宝石数量作为key值,能全过
应该是多重背包模版题
记忆化两个参数:一个是当前是第几次操作,一个是当前手里的宝石数量。
然后dfs就行,边界是第n次操作,return 手里的宝石数。
第i次操作,就按他那两种策略每种走一条路径就好。
相关推荐