A21643.三国围棋擂台赛

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

一年一度的“农心杯”三国围棋擂台赛是世界上最高水平的围棋比赛,也是中日韩三国围棋界最激动人心的较量。本题就是建立在这一比赛的规则之上。

三国围棋擂台赛是三个国家的代表队之间的比赛,下面简要介绍一下比赛的规则:

1.不妨设三个国家分别为AA、BB和CC,每个国家各有nn名选手(在上述的实际比赛中n=5n = 5),分别称其为A1A_1,A2A_2,…,AnA_n,B1B_1,B2B_2,…,BnB_n,C1C_1,C2C_2,…,CnC_n。

2.每场比赛都能分出胜负。每场比赛的负者遭到淘汰。

3.每队第一位出场的选手都已经确定为每队的第nn位选手,即AnA_n、BnB_n和 CnC_n。

4.通过抽签等概率地选出一支队伍。该队将在第一轮中轮空,而剩下的两支队伍的第nn位选手将进行第一场比赛。

5.第一场比赛的胜者(这里的胜者是指赢得该局比赛的选手,下同)与轮空队伍的第nn位选手进行第二场比赛。比如在第一场比赛中CnC_n战胜了AnA_n,则第二场则由CnC_n对阵BnB_n。

6.从第三场比赛开始,前一场比赛未参加的队伍将选出一个未被淘汰的选手与上一场比赛的胜者进行下一场比赛。

7.这个过程将一直进行,直到某个队伍的全部参赛选手都被淘汰为止。

8.当只有两支队伍的时候,每场比赛后,由负方选择一位未被淘汰的选手与胜者进行下一场比赛。

9.当两支队伍中的任意一队的全部选手均被淘汰后比赛结束,余下的那支队伍将获得农心杯。

新一届的比赛就要开始了。你作为AA队的领队,在比赛开始前已经统计了这3n3n位选手之间的胜率——即对于来自不同队伍的两个选手QQ和RR,我们已知QQ战胜RR的概率为pp(0≤p≤10 \leq p \leq 1),且RR战胜QQ的概率为1−p1-p。

由于你所在的国家实力超群,可以认为剩下的两只队伍都将矛头对准了你。BB、CC队的每个决策,即派出选手的顺序的目的都是使你所在的国家(AA队)夺冠的概率尽可能小,而AA队的决策的目的必然是使最后夺冠的概率尽可能大。你要做的事情就是计算出在这种极为不利的情况下,在三方都做出最优决策的前提下,AA队夺冠的期望EAE_A。

关于期望的计算:设现在在场上比赛的人是QQ和RR,QQ胜RR的概率为pp,则此时AA队胜率的期望

EA=pE_A = p × E1+(1−p)E_1 + (1 - p) × E2E_2

其中E1E_1为QQ胜RR后AA队夺冠的期望,E2E_2为RR胜QQ后AA队夺冠的期望。E1E_1、E2E_2则同样使用上式递归计算。

AA队的决策会尽可能使这个期望尽可能大,而BB、CC队则会使这个期望尽可能小。当BB、CC队的全部选手都被淘汰后夺冠期望为11,AA队所有队员被淘汰后期望为00。

例如当每队有33位参赛选手时,相互之间的胜率由如下的33个3∗33*3的矩阵给出,其中矩阵中的每个数值pp为所在行选手对于所在列选手的胜率,所在列选手对于所在行选手的胜率为1−p1-p。

QQ20180130165331.png

三支队的第三位选手的水平相同,在第两局比赛后,三支队的选手获胜的概率是相同的。假设第二局获胜的是B3B_3,第三局轮到AA队出场。这时我们可以派出A1A_1和A2A_2两种选择。

如果派出A2A_2,虽然第三局一定可以战胜B3B_3(胜率为100%100 \%),但是CC队会在第四场比赛中派出C2C_2,A2A_2对于C2C_2必败(胜率为00),第五场中BB队会让B1B_1出场,第六场A1A_1只能出场,这时对A1A_1必胜的B2B_2还未登场,因此A1A_1迟早会遭到淘汰,AA队夺冠的概率就为00。

如果派出A1A_1,虽然本局对于B3B_3比赛只有50%50 \%的胜率,但是夺冠的概率为6.25%6.25 \%;因此在第三场应该派出A1A_1。

根据第三场比赛的参赛选手的六种情况,最后夺冠的期望为:

(6.25%+3.125%+18.75%+25%+60.9375%+50%)6=27.34375%\dfrac{(6.25\%+3.125\%+18.75\%+25\%+60.9375\%+50\%)}{6} = 27.34375\%

输入格式

输入文件为go.in。

第一行包括一个整数nn,表示每队的选手数。

第二行到第n+1n + 1行每行包含nn个实数,整体为一个n∗nn*n的矩阵,表示AA队对BB队的胜率。其中第i+1i + 1行的第jj个数表示选手AiA_i对选手BjB_j时的胜率。

第n+2n + 2行为空行。

第n+3n + 3行到第2n+22n + 2行每行包含nn个实数,同样为一个n∗nn*n的矩阵,表示AA队对CC队的胜率。其中第i+n+2i + n + 2行的第jj个数表示选手AiA_i对选手CjC_j时的胜率。

第2n+32n + 3行为空行。

第2n+42n + 4行到第3n+33n + 3行每行包含nn个实数,整体为一个n∗nn*n的矩阵,表示BB队对CC队的胜率。其中第i+2n+3i + 2n + 3行的第jj个数表示选手BiB_i对选手CjC_j时的胜率。

输出格式

输出文件go.out仅包含一个实数,保留66位小数,表示AA队获得冠军的概率。

输入输出样例

  • 输入#1

    3
    1.0 0.0 0.5
    0.5 1.0 1.0
    0.5 0.5 0.5
    
    0.5 0.5 1.0
    0.5 0.0 0.5
    0.5 0.5 0.5
    
    0.5 0.0 1.0
    0.5 0.5 0.5
    0.5 0.5 0.5 
    

    输出#1

    0.273438

说明/提示

30%30\%的数据中,n≤4n \leq 4。

40%40\%的数据中,n≤5n \leq 5。

100%100\%的数据中,n≤7n \leq 7。

对于10%10\%的数据有三个胜率矩阵中,每个矩阵的元素都相同,但不同矩阵的数字可能不同。

输入解题思路,AI测评打分。不知道怎么写?

首页