#dpo. [dp_o]Matching
[dp_o]Matching
问题描述
有 个男人和 个女人,它们的编号分别为 。
对于每对 (),男人 和女人 的兼容性表示为整数 。如果 ,则男人 和女人 是兼容的;如果 ,则不兼容。
Taro 想要组成 对,每对由一个男人和一个女人组成。在这里,每个男人和每个女人必须恰好属于一对。
计算 Taro 组成 对的方式数,结果对 取模。
约束条件
- 输入中的所有值均为整数。
- 的值为 或 。
输入
输入以以下格式从标准输入给出:
输出
输出 Taro 组成 对的方式数,结果对 取模。
示例输入 1
3
0 1 1
1 0 1
1 1 1
示例输出 1
3
有三种组成对的方式,如下所示 ( 表示男人 和女人 组成一对):
示例输入 2
4
0 1 0 0
0 0 0 1
1 0 0 0
0 0 1 0
示例输出 2
1
只有一种组成对的方式,如下所示:
示例输入 3
1
0
示例输出 3
0
示例输入 4
21
0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1
1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 0
0 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 1
0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0
1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1
0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0
0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1
0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1
0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1
0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0
0 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 1
0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1
1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 1
0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1
1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1
0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1
0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0
1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0
1 0 0 1 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0
示例输出 4
102515160
请确保输出结果对 取模。