QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100

#12625. 翻转 El-fetiera

Statistics

Fouad 非常渴望吃 Fetiera,于是他去了一家 Fetiera 餐厅点了一份。厨师告诉他,他出售的 Fetiera 是一个 $N \times N$ 的矩阵形状。

在 Fetiera 的表面,每一个 $1 \times 1$ 的单元格上都有一个 Semsema。每个 Semsema 可以位于 Fetiera 的顶面或底面,但不能同时在同一个单元格的两个面上。

Fouad 喜欢看厨师翻转 Fetiera,而这次的翻转比平时更有趣。厨师随机(均匀随机)选择一个矩形子矩阵并将其原地翻转。每当他翻转一个子矩阵时,原本在顶面的 Semsema 会翻转到底面,反之亦然。

给定 Fetiera 的初始状态,并已知厨师进行了 $K$ 次翻转操作,Fouad 想知道最终会有多少个 Semsema 位于顶面。因此,他请求你帮助他计算位于顶面的 Semsema 数量的期望值。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量。

每个测试用例的第一行包含两个空格分隔的整数 $N$ 和 $K$ ($1 \le N \le 300, 0 \le K \le 300$),其中 $N$ 是 Fetiera 矩阵的大小,$K$ 是翻转操作的次数。

接下来 $N$ 行,每行包含 $N$ 个空格分隔的值 $F_{i1}, \dots, F_{iN}$ ($F_{ij} \in \{0, 1\}$),其中 $F_{ij}$ 表示 Fetiera 第 $i$ 行第 $j$ 列单元格的初始状态($1$ 表示 Semsema 位于顶面,$0$ 表示 Semsema 位于底面)。

输出格式

对于每个测试用例,输出一行,包含一个保留 5 位小数的十进制数,表示在进行了 $K$ 次翻转操作后,位于 Fetiera 顶面的 Semsema 数量的期望值。输出将通过相对误差进行校验。

样例

样例输入 1

2
4 2
1 0 1 1
0 0 0 1
1 0 0 0
0 0 0 0
3 3
1 1 1
0 0 0
1 0 0

样例输出 1

7.57280
4.58728

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.