AT_abc448_g [ABC448G] Conquest
题目描述
高桥和青木进行一场牌组游戏。游戏规则如下。
- 高桥准备牌组 $A_1, A_2, \dots, A_N$,其中 $N \geq 3$。
- 青木准备牌组 $B_1, B_2, B_3$。
- 高桥从青木的牌组中选择一组并将其封禁。青木也从高桥的牌组中选择一组并将其封禁。两人封禁操作**同时**进行(即任何一方无法根据对方的选择行动)。
- 然后,高桥和青木各自**同时**声明将使用自己的哪一组牌组,但已被封禁的牌组不能被声明。
- 接下来,两位玩家各用宣布的牌组战斗一次。本局会有一方获胜。
给定整数 $X_{i,j}$($1 \leq i \leq N, 1 \leq j \leq 3$)。记 $p_{i,j} = \dfrac{X_{i,j}}{10^6}$。$p_{i,j}$ 表示高桥使用 $A_i$ 与青木使用 $B_j$ 时高桥的胜率。两人都预先知道 $p_{i,j}$ 的值。
请计算当双方都采取使自己胜率最大化的行动时,高桥的胜率。
共给出 $T$ 组测试数据,请分别求解。
当双方都想最大化自己的胜率时,每一步每位玩家会为可选项分配概率(概率总和为 $1$),并根据到目前为止公开的信息按概率随机选择一个选项。
每位玩家会选择使“最小可能胜率”最大的策略,即“当对方选择使自己胜率最小的策略时的胜率”。如果有多个满足条件的策略,可以任选其一。
当双方均按上述方针行动时,无论具体策略如何,高桥的胜率均唯一确定。请输出该值。
输入格式
输入从标准输入读入,格式如下,其中 $\mathrm{case}_i$ 表示第 $i$ 个测试数据。
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每组测试数据包含:
> $N$
> $X_{1,1}\ X_{1,2}\ X_{1,3}$
> $X_{2,1}\ X_{2,2}\ X_{2,3}$
> $\vdots$
> $X_{N,1}\ X_{N,2}\ X_{N,3}$
输出格式
输出 $T$ 行,第 $i$ 行输出第 $i$ 个测试数据的答案。
对于每组测试数据,当双方都采取最大化自己胜率的策略时,高桥的胜率是多少。若输出的答案与真实值的绝对误差或相对误差不超过 $10^{-6}$,即视为正确。
说明/提示
### 样例解释 1
双方都最大化自己胜率时,高桥的胜率为 $0.5272727\cdots$。
### 约束条件
- $1 \leq T \leq 500$
- $3 \leq N \leq 5 \times 10^4$
- $0 \leq X_{i,j} \leq 10^6$
- 所有测试数据中 $N$ 之和不超过 $5 \times 10^4$。
- 所有输入值均为整数。
由 ChatGPT 5 翻译