多米诺骨牌

时间限制: 2000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

constroy 喜欢玩多米诺骨牌,他把若干块骨牌排列成一个 $n$ 行 $m$ 列的矩阵准备进行游戏。

但是 constroy 太笨了,他无法用一次触碰使所有的骨牌全部倒下。于是,他从第一行第一列的骨牌开始检查,依次检查第一行第二列,第一行第三列,……,第二行第一列,第二行第二列,……,第 $n$ 行第 $m$ 列的骨牌。如果他检查到一块骨牌没有倒下,那么他就会触碰它。而第 $i$ 行第 $j$ 列立着的骨牌被触碰时,有 $p_{i, j}$ 的概率向下一行倒,有 $q_{i,j}$ 的概率向下一列倒,并触碰该方向上与其相邻的骨牌(如果存在)。

请你估计一下笨拙的 constroy 总共触碰骨牌次数的期望值是多少吧。

提示:期望值是试验中每次可能结果的概率乘以其结果的总和。

输入

第一行包含一个正整数 $T$ ,表示有 $T$ 组测试数据。

接下来依次给出每组测试数据。对于每组测试数据:

第一行包含两个正整数 $n$ 和 $m$ 。

接下来 $n$ 行,每行包含 $m$ 个非负实数,其中第 $i$ 行第 $j$ 个数代表对应位置骨牌向下一行倒的概率 $p_{i, j}$ 。

接下来 $n$ 行,每行包含 $m$ 个非负实数,其中第 $i$ 行第 $j$ 个数代表对应位置骨牌向下一列倒的概率 $q_{i, j}$ 。

保证所有输入的实数满足小数点后数字不超过两位。

保证在一行中的每个实数之间有恰好一个空格,没有其他额外的空格。

$1 \leq T \leq 25, 1 \leq n, m \leq 500$, $0 \leq p_{i, j} + q_{i, j} \leq 1$

输出

对于每组数据输出一行,包含一个实数,表示 constroy 总共触碰次数的期望。

对于本题,输出的实数需要精确到小数点后恰好四位

输入样例

1
2 2
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5

输出样例

2.2500

Author: constroy

相关推荐