首页 / 题库

P15191 - Permutation Transmission

数学入门
通过次数0 提交次数0 内存限制 128MB 时间限制1秒

描述

存在一个大小为 $n$ 的排列 $p$。

它通过通信通道发送如下:首先,排列中每个数字 $p_i$ 的所有 $0$-th 位作为一个字符 0 和/或 1 的 $n$ 字符串发送;然后以相同的格式发送 $1$-st 位,以此类推,直到数字 $n$ 的最高有效位。

例如,对于 $p = [3, 1, 2, 4]$,发送了以下三个字符串:

1. "1100";
2. "1010";
3. "0001"。

您收到了所有这些字符串,但是每个字符串对应于位的顺序丢失了,也就是说,字符串以任意顺序到达。在上面的示例中,字符串可能以 "1010"、"0001" 和 "1100" 的顺序到达。

你的任务是确定有多少可能的原始排列 $p$ 可能被传输。有可能数据在传输过程中被损坏,因此没有有效的原始排列 $p$。

$^{\text{∗}}$ 一个大小为 $n$ 的排列是一个大小为 $n$ 的数组,其中从 $1$ 到 $n$ 的每个整数只出现一次。

输入

第一行包含一个整数 $T$($1 \le T \le 10^4$),表示测试用例的数量。

每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$)。

接下来 $n$ 行,每行包含一个长度为 $n$ 的二进制字符串 $s_i$,表示接收到的第 $i$ 个位平面。

保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。

输出

对于每个测试用例,输出一个整数,表示可能的原始排列 $p$ 的数量。

如果数据被损坏,没有有效的原始排列,则输出 $0$。

样例

  • 复制
  • 复制

提示

接收到的三个字符串分别是:
- "1100"
- "1010"
- "0001"

它们对应于三个位平面,但顺序未知。

唯一可能的原始排列是 $p = [3, 1, 2, 4]$,对应位平面为:
- 第 0 位:$[1, 1, 0, 0]$ → "1100"
- 第 1 位:$[1, 0, 1, 0]$ → "1010"
- 第 2 位:$[0, 0, 0, 1]$ → "0001"

所以可能的排列数量为 $1$。

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36