CF2266B Three Piles

题目描述

Alice 和 Bob 正在玩一个有三堆石子的游戏。最开始,Alice 有 $a$ 颗石子,Bob 有 $b$ 颗石子,第三堆有 $c$ 颗石子。 Alice 和 Bob 轮流操作,Alice 先手。在每一轮中,当前玩家可以从第三堆取任意数量的石子(也可以不取),并将这些石子加入自己的石子堆中。 如果连续两轮中,双方都选择取 $0$ 个石子,则游戏结束。 记 Alice 和 Bob 最终拥有的石子数分别为 $A$ 和 $B$,游戏得分为 $|A-B|$。 Alice 希望最大化得分,而 Bob 希望最小化得分。假设双方都采取最优策略,求最终的得分。

输入格式

第一行为一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例数量。 每个测试用例包含一行,包括三个整数 $a$、$b$ 和 $c$($0 \leq a, b, c \leq 10^9$),分别表示 Alice、Bob 和第三堆初始拥有的石子数。

输出格式

每组测试数据输出一行一个整数,表示当双方都采取最优策略时的最终得分。 请使用 $64$ 位整数类型(如 C++ 的 long long)。

说明/提示

在第一组测试数据中,Alice 可以选择第一回合取 $0$ 颗石子,Bob 也可以选择取 $0$ 颗石子,这样游戏以 $3$ 和 $6$ 结束,分差为 $3$。可以证明,Alice 无法获得更大的分差,Bob 也无法获得更小的分差。 在第二组测试数据中,Alice 可以在第一回合取走第三堆的全部 $10$ 颗石子。这样游戏以 $13$ 和 $6$ 结束,分差为 $7$。 由 ChatGPT 5 翻译