#54896. D
D
暂无测试数据。
小 k 有一个长度为 $m$ 的黑白格子序列 $A$(每个格子是黑色或者白色的),他带着这个格子序列参加了一个游戏。游戏有 $n$ 个回合,一开始小 k 的得分为$0$,每个回合小 k 会得到一个长度为 $m$ 的黑白格子序列 $B$,比较 $A$ 和 $B$ 两个序列同一个位置上格子的颜色(即比较 $A_i$ 和 $B_i$),如果颜色相同则加一分,否则扣一分,每个位置的得分加起来即为这一回合的得分,如果小 k 发现接下来的回合不可能得到比现在更高的分数,他可以选择立刻结束游戏,小 k 可以在第一个回合开始之前就结束游戏。
但是游戏的主办方觉得这样太简单了,于是他给游戏增加了难度:每一回合开始之前他会 等概率 地选择 $A$ 序列中 可能 被翻转的某一格子,并翻转它的颜色(黑色变为白色,白色变为黑色),同时前一回合被选择过的格子在后一回合不能再次被选择(即一个格子不会连续两回合被选择)。现在小 k 想要知道他能得到分数的最大期望值是多少,答案的期望即每一种情况出现的概率乘该情况的得分再求和。
输入描述
第一行两个正整数 $n,m$,表示回合数和格子序列的长度。
第二行 $m$ 个数,表示小 k 拥有的序列 $A$,$0$ 表示白色,$1$ 表示黑色
接下来 $n$ 行,每行 $m$ 个数,表示每一回合的序列 $B$,$0$ 表示白色,$1$ 表示黑色。
输出描述
一行一个实数,表示小 k 得分的最大期望值,结果保留两位小数。
数据范围
对于 $10\%$ 的数据,$m = 2$。
对于 $30\%$ 的数据,$n\leq 30$。
对于 $100\%$ 的数据,$n\leq 300 ,2\leq m\leq 10$。
2 2
0 0
1 0
0 1
0.00