#XMOJ10972. 格斗淘汰赛
格斗淘汰赛
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:knockout.in 输出文件:knockout.out
$16$ 名格斗家将以 1v1 的淘汰赛形式展开角逐。格斗家编号为 $1$ 至 $16$。格斗家之间存在对战相性,任意两名格斗家对战的胜负结果由给定表格确定。
淘汰赛的赛制为完全二叉树结构,即每轮两两对决,胜者晋级下一轮,直至决出冠军)。
为测算每位格斗家的夺冠概率,需进行如下模拟:考虑所有可能的第一轮对战组合,对每种组合均完整模拟至决赛结束。
请输出格斗家 $1$ 至 $16$ 各自的夺冠次数,每位格斗家的结果占一行。
注:第一轮的“对战组合”判定规则为——即使对战双方相同,只要第一轮的排列顺序不同,即视为不同组合。也就是说,第一轮的组合总数为 $16!$ 种。
输入格式
输入为 $16$ 行 $16$ 列的整数表格,用于表示格斗家的对战胜负规则:
若要查询格斗家 $i$ 与格斗家 $j$ 的对战结果,需查看表格的第 $j$ 行第 $i$ 列 $a[j][i]$:
- 若 $a[j][i] = 1$ → 格斗家 $j$ 获胜;
- 若 $a[j][i] = -1$ → 格斗家 $i$ 获胜。
表格的左下部分($j < i$ 的区域)为填充用的无效数据 $0$,仅 $j > i$ 的部分数据有效。
输出格式
依次输出格斗家 $1$ 至 $16$ 的夺冠次数,每位格斗家的结果占一行。
样例
样例 1
0 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 1 1 1
0 0 1 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1
0 0 0 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1
0 0 0 0 -1 1 -1 1 -1 1 1 1 -1 1 -1 -1
0 0 0 0 0 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
0 0 0 0 0 0 1 -1 1 -1 1 1 1 1 -1 1
0 0 0 0 0 0 0 1 1 1 1 1 1 1 -1 1
0 0 0 0 0 0 0 0 1 -1 -1 1 1 -1 1 -1
0 0 0 0 0 0 0 0 0 1 1 -1 -1 1 1 -1
0 0 0 0 0 0 0 0 0 0 1 -1 1 1 -1 1
0 0 0 0 0 0 0 0 0 0 0 1 1 -1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 1 -1 1 -1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1613069320192
2902313238528
119390961664
507047542784
1339820638208
1069828669440
7688706785280
1315405791232
367798026240
590398128128
1159765950464
311637147648
146366988288
7884701696
1659518025728
123837972480
样例说明:
输入为 的胜负表格。
输出中,格斗家 $1$ 的夺冠次数为 $1613069320192$ 次;所有格斗家的夺冠次数之和等于 $16!$。
相关
在下列比赛中: