这题暴力复杂度是O(2^n)的,对于24的复杂度明显不可做,我的方法是进行优化,枚举前n/2个,得到每个陷阱对应的宝物编号,这样对应了一个映射,然后枚举剩下的宝物,找到对应陷阱所对应的前半部分宝物,所有宝物的价值之和就是目前的答案,取最大的即可。
宝物和陷阱可以用int和long long压缩,最后放入map中。复杂度O(2^(n/2))
我的代码:
这题暴力复杂度是O(2^n)的,对于24的复杂度明显不可做,我的方法是进行优化,枚举前n/2个,得到每个陷阱对应的宝物编号,这样对应了一个映射,然后枚举剩下的宝物,找到对应陷阱所对应的前半部分宝物,所有宝物的价值之和就是目前的答案,取最大的即可。
宝物和陷阱可以用int和long long压缩,最后放入map中。复杂度O(2^(n/2))
我的代码: