AT_tenka1_2016_qualB_c 天下一プログラマーコンテスト1999
题目描述
在 $1999$ 年的 てんかいち(TENKAICHI) 程序员大赛正赛中,$N$ 名参赛者参加了循环赛,主赛根据循环赛的结果和预选赛的排名进行排名。
在正赛中,排名是根据循环赛循环赛的胜场数来的,如果循环赛的胜场数相同,则资格赛中排名最高的那一方将排名更高。
任何参赛者的合格排名均不得相同。
例如,对于对决,您可以记录胜利或失败的概率为 $(1-P)^2 $ 或者您可以记录以概率 $ (1-P) $ 赢得比赛。
在根据比赛记录确定 $X$ 先生在循环赛中的胜场数时,应以 $X$ 先生战胜某人的记录数来决定。
$\text{Ando}$ 和 $\text{Hashimoto}$ 保留循环赛的记录,对于每场比赛,他们各有两条记录:“$X$ 先生赢了 $Y$ 先生”和“$Y$ 先生输给了 $X$ 先生”。
$\text{Ando}$ 保证在他的记录中从来没有犯过错误。
如果 $\text{Anto}$ 记录“合格排名为 $i$ 的人击败了合格排名为 $j$ 的人”,则 $A_{i,j} = 1 $,否则 $A_{i,j} = 0 $。
但是,$\text{Hashimoto}$ 能正确创造记录 $1$ 的概率是 $P = p / q $,而在记录中犯错的概率是 $1-P$。
可以保证每个记录都应是一个独立的事件。
求从 $\text{Ando}$ 给出的比赛记录中获得的排名与从 $\text{Hashimoto}$ 创下的比赛记录中获得的排名相匹配的概率。
输入格式
输入来自标准输入,格式如下:
第一行形如 $N\ p/q$ 的形式
接下来是 $N$ 行,每行 $N$ 个整数,分别表示 $A$ 中的每一个元素。
输出格式
将匹配排名的概率输出为小数。 输出末尾的换行符。
如果相对误差小于或等于 $10^{-8}$,则判为正确答案。
说明/提示
### 制約
- $ 2\ \leq\ N\ \leq\ 30 $
- $ 0\ \leq\ p\ \leq\ q $
- $ 1\ \leq\ q\ \leq\ 10 $
- $ A_{i,j}\ \in\ \{\ 0,\ 1\ \} $
- $ A_{i,i}\ =\ 0 $
- $ i\ \neq\ j $ ならば $ A_{i,j}\ +\ A_{j,i}\ =\ 1 $
- $ N $, $ p $, $ q $ は整数である