【问题描述】 小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X Y Z 一开始可以认为都为 0 。游戏有 n 个可能会发生的事件每个事件之 间相互独立且最多只会发生一次当第 i 个事件发生时会分别让 X Y Z 增加 Ai Bi Ci 。 当游戏结束时 所有事件的发生与否已经确定如果 X Y Z 的其中一个大 于另外两个之和我们认为其获胜。例如当 X Y + Z 时我们认为魏
【样例输入】 3 1 2 3 1 2 1 2 1 1 【样例输出】 2 【样例说明】 第一次事件后 X=1,Y=1,Z=2,第二次事件后 X=3,Y=3,Z=3,此时 Y+Z=X,所以魏国获胜,事件只发生了两次。
【数据说明】 对于 100% 的数据,1 ≤ n ≤ 100,0 ≤ Ai,Bi,Ci ≤ 1000。 【题目分析】 对于每个事件,我们都可以选择发生或者不发生。那么我们可以使用枚举的方法,对于每个事件,枚举它是否发生,然后计算当前三个国家士兵数量是否满足获胜条件。如果有满足获胜条件的情况,我们记录下当前事件数,然后更新最小事件数。这样我们就可以得到最终的答案。由于有 $2^n$ 种情况需要枚举,所以时间复杂度为 $O(n2^n)$,可以通过本题。 【注意事项】 本题需要输出最小事件数,所以在记录满足获胜条件的情况时,应该记录当前事件数,而不是当前情况下已经发生的事件数。
【参考代码】
原文地址: https://www.cveoy.top/t/topic/bLN7 著作权归作者所有。请勿转载和采集!