14011 - 分书问题
时间限制 : 1 秒
内存限制 : 64 MB
现有 n 本书(编号 1 到 n )和 n 个人(编号 1 到 n )。每个人都有一个自己喜欢的书的列表(用 0/1 表示)。请你计算有多少种不同的分配方案,使得每个人都能恰好分到一本书,且这本书必须在该人喜欢的列表中。
输入
- 第一行包含一个整数 n ( 1 \le n \le 20 ),表示书和人的数量。
- 接下来 n 行,每行包含一个长度为 n 的 01 字符串,第 i 行表示第 i 个人对 n 本书的喜好情况:第 j 个字符为
1表示喜欢第 j 本书,为0表示不喜欢。
输出
输出一个整数,表示符合条件的分配方案的总数。
样例
输入
5 00110 11001 01100 00010 01001
输出
1
提示
数据范围与约定
- 1 \le n \le 20
- 输入保证每位同学至少喜欢一本书,且总存在至少一种合法分配方案。
来源
课课通