P7377 [COCI 2018/2019 #5] Parametriziran
题目描述
我们规定一个包含小写字母和问号的字符串为一个**参数化单词**。例如,`a??cd`,`bcd`,`??` 都属于参数化单词。
如果两个参数化单词中,可以用特定的小写字母将其中的问号进行替换,并最终使得两个单词完全相同,那么原来的两个参数化单词就被称为是相似的。例如,`a???` 和 `?b?a` 都可以替换为 `abba`,因此 `a???` 和 `?b?a` 是相似的。
给定 $N$ 个长度为 $M$ 的参数化单词,求有多少对相似的参数化单词。
输入格式
第一行输入整数 $N,M$。
接下来的 $N$ 行,每行输入一个长度为 $M$ 的参数化单词。
输出格式
输出相似的参数化单词的对数。
说明/提示
#### 样例 1 解释
`??b` 和 `c??` 是相似的,而 `c??` 和 `c?c` 也是相似的。因此共有 $2$ 对相似的参数化单词。
#### 数据规模与约定
对于 $30\%$ 的数据,$M \le 2$。
对于另外 $30\%$ 的数据,$M \le 4$。
对于 $100\%$ 的数据,$1 \le N \le 5 \times 10^4$,$1 \le M \le 6$。
#### 说明
**本题分值按 COCI 原题设置,满分 $110$。**
**题目译自 [COCI2018-2019](https://hsin.hr/coci/archive/2018_2019/) [CONTEST #5](https://hsin.hr/coci/archive/2018_2019/contest5_tasks.pdf) _T4 Parametriziran_。**