AT_past202209_g Wildcards
题目描述
设 $S$ 为一个仅包含小写英文字母的字符串,$T$ 为一个仅包含小写英文字母和 `?` 的字符串。
当可以将 $T$ 中的每个 `?` 替换为某个小写英文字母,从而使 $T$ 等于 $S$ 时,称 $S$ 可以“通过 $T$ 得到”。
例如,`abcd` 和 `addd` 都可以通过 `a??d` 得到,而 `bcdd` 不行。
现给定 $N$ 个小写英文字母字符串 $S_1, S_2, \ldots, S_N$,
所有这些字符串的长度均为 $L$,即 $|S_1| = |S_2| = \cdots = |S_N| = L$。
现从所有长度为 $L$、恰好包含 $K$ 个 `?` 的小写字母字符串 $T$ 中任选一个。
请你求出,在这些 $T$ 中,最多能有多少个字符串 $S_1, S_2, \ldots, S_N$ 能通过 $T$ 得到。
输入格式
输入格式如下:
> $N$ $L$ $K$
> $S_1$
> $S_2$
> $\vdots$
> $S_N$
输出格式
输出一个整数,表示最大可得到的字符串数量。
说明/提示
### 样例解释 1
若令 $T = $ `a?b?`,则 $S_1 = $ `aabc`、$S_3 = $ `abbc`、$S_5 = $ `acba` 都可以通过 $T$ 得到。这里,$S_1, S_2, \ldots, S_N$ 中有 $3$ 个字符串可以通过 $T$ 得到,这就是最大可能值。注意 $K = 2$,所以 $T$ 必须恰好有两个 `?`。
### 样例解释 2
若令 $T = $ `????`,则 $S_1, S_2, S_3, S_4, S_5$ 都可以通过 $T$ 得到。
### 数据范围
- $1 \leq N \leq 1000$
- $1 \leq L \leq 10$
- $0 \leq K \leq L$
- $N, L, K$ 均为整数。
- $S_1, S_2, \ldots, S_N$ 均为长度为 $L$ 的小写字母字符串。
- $S_1, S_2, \ldots, S_N$ 互不相同。
由 ChatGPT 5 翻译