有一堆怪物,每个怪物有一个血量 a1, a2, ..., an。每次让两个怪物打架,血多的赢,血量变成两者血量差 |x - y|,另一个死。如果血量相同,两个都死。重复打,直到只剩一个怪物(或全死)。求最后剩下的怪物的血量最小是多少?
考察说明
考察数论中的最大公约数(GCD)与博弈结合的最小化问题
回答思路
- 识别问题本质是求所有血量的最大公约数(或0)
- 理解操作等价于对血量做辗转相减,不改变全局GCD
- 分析全死条件(所有血量相同且成对消灭)与剩一个的情况
- 给出构造方案:通过两两合并逐步将血量约化为GCD,证明可行性
- 考虑边界:n=1、全相等、含0血量等特殊情况
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。