#NC2507A. 圈圈环催湖

圈圈环催湖

题目描述

Alice 拥有一批特殊的宝石级玩具,这批玩具由 m m 套独立的部分组成。每套玩具包含 k k 个玩具,每个玩具都是一个 n×n n \times n 的二维网络。初始状态下,每个玩具都顺序排列如下:

$$\begin{pmatrix} 1 & 2 & \cdots & 3 \\ n+1 & n+2 & \cdots & 2n \\ \vdots & \vdots & \ddots & \vdots \\ (n-1)n+1 & (n-1)n+2 & \cdots & n^2 \end{pmatrix}$$

Alice 对这些玩具进行了 106 10^6 次操作。等概率均匀随机选择一个玩具的一个 4×4 4 \times 4 的子块,顺时针旋转 90 90 度。例如,

$$\begin{pmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 \end{pmatrix} \rightarrow \begin{pmatrix} 13 & 9 & 5 & 1 \\ 14 & 10 & 6 & 2 \\ 15 & 11 & 7 & 3 \\ 16 & 12 & 8 & 4 \end{pmatrix}$$

Bob 不小心弄坏了 Alice 的 m2\frac{m}{2} 套玩具的全部 k k 个玩具。由于 Bob 不记得弄坏前的具体形状,他按如下方式重新制作了玩具:枚举 i i j j k k l l 。等概率随机将 i i 放入一个未填入数字的箱子。

Alice 最终发现了这些被扔进手脚的玩具,她非常生气,想知道究竟哪几套玩具被 Bob 弄坏了。帮助她判断每一套玩具是否曾被 Bob 重新制作过。请注意,你不需要对每一套玩具都给出正确的判断。

输入格式

第一行包含四个整数 id,m,k,n id, m, k, n 。其中,id id (0id<10 0 \leq id < 10 ) 是测试点编号,m=100 m = 100 表示这批玩具的套装数量,k=10 k = 10 表示每套玩具的玩具数量。n=10 n = 10 表示玩具的边长。

接下来是 m m 套玩具的描述,每套玩具包含 k k 个玩具的描述。每个玩具由 n n 行组成,每行包含 n n 个整数,表示该玩具最终的数字排列。

样例可能不符合数据范围,并且排序中有额外的空行,但排序本身不在测试数据中。

输出格式

你需要输出一行长度为 m m 01 01 串。如果对应的玩具套装被 Bob 弄坏了,则输出 1,否则输出 0

请注意,你不需要对每一套玩具都给出正确的判断。在每一个测试点中,如果你的回答中有 90 90 个是正确的,那么你的回答就认为是正确的。你不需要保证输出的 01 个数相等。

-1 2 1 4

1 2 3 4
5 6 7 8
9 10 11 12
13 16 14 15

13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
10

解释 #1

样例共有两套玩具,每套共一个,大小为 4×4 4 \times 4

第一套玩具一定是 Bob 弄坏的,因为仅通过旋转无法得到这个结果。因此,第二套玩具一定是没弄坏的。