AT_abc173_c [ABC173C] H and V

题目描述

有一个由 $H$ 行 $W$ 列组成的网格。第 $i$ 行第 $j$ 列的格子的颜色由字符 $c_{i,j}$ 给出,当 $c_{i,j}$ 为 `.` 时表示白色,为 `#` 时表示黑色。 现在要进行如下操作: - 可以选择若干行(也可以一行都不选),再选择若干列(也可以一列都不选)。然后,将被选中的所有行和所有列中的格子全部涂成红色。 给定一个正整数 $K$,问有多少种选择行和列的方法,使得操作后网格中恰好剩下 $K$ 个黑色格子。这里,如果存在某一行或某一列只在其中一种选择中被选中,则认为这两种选择不同。

输入格式

输入按以下格式从标准输入读入。 > $H$ $W$ $K$ > $c_{1,1}c_{1,2}\ldots c_{1,W}$ > $c_{2,1}c_{2,2}\ldots c_{2,W}$ > $\vdots$ > $c_{H,1}c_{H,2}\ldots c_{H,W}$

输出格式

输出满足条件的行和列的选择方法数。

说明/提示

### 限制条件 - $1 \leq H, W \leq 6$ - $1 \leq K \leq HW$ - $c_{i,j}$ 仅为 `.` 或 `#` ### 样例解释 1 以下 $5$ 种选择满足条件: - 第 $1$ 行和第 $1$ 列 - 第 $1$ 行和第 $2$ 列 - 第 $1$ 行和第 $3$ 列 - 第 $1$ 列和第 $2$ 列 - 第 $3$ 列 ### 样例解释 2 什么都不选这一种选择满足条件。 由 ChatGPT 4.1 翻译