#aTCODERDPROUNDO. AT_dp_o Matching
AT_dp_o Matching
AT_dp_o Matching
题目描述
有 名男性和 名女性。男性编号为 ,女性也编号为 。
对于每一对 (),男性 和女性 的匹配情况由整数 给出。如果 ,则男性 和女性 匹配良好;如果 ,则匹配不好。
太郎君想要将所有匹配良好的男女分别配对,组成 对。每个男性和每个女性都必须恰好属于一对。
请问有多少种组成 对的方法?请输出对 取模的结果。
输入格式
输入通过标准输入给出,格式如下:
输出格式
输出组成 对的方法数,对 取模。
输入输出样例 #1
输入 #1
3
0 1 1
1 0 1
1 1 1
输出 #1
3
输入输出样例 #2
输入 #2
4
0 1 0 0
0 0 0 1
1 0 0 0
0 0 1 0
输出 #2
1
输入输出样例 #3
输入 #3
1
0
输出 #3
0
输入输出样例 #4
输入 #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
说明/提示
限制条件
- 所有输入均为整数。
- 仅为 或 。
样例解释 1
组成配对的方法有以下 种。用 表示男性 和女性 的配对。
样例解释 2
组成配对的方法有以下 种。
样例解释 4
不要忘记输出对 取模的结果。
由 ChatGPT 4.1 翻译