AT_abc374_g [ABC374G] Only One Product Name
题目描述
Keyence 的所有商品名均由**两个大写英文字母**组成。
现已使用了 $N$ 个商品名,第 $i$ 个商品名($1\leq i\leq N$)为 $S_i$。
由于已使用过的商品名不能再次使用,为了能快速查找过去用过的商品名,决定制作一个 NG 列表。
NG 列表需要满足以下条件:
- 由一个或多个字符串组成,每个字符串仅包含大写英文字母。
- 对于每一个已经使用过的商品名,至少存在一个字符串将其作为(连续的)子串包含。
- 列表中的所有字符串都不包含任何不是已使用商品名的长度为 $2$ 的字符串作为(连续的)子串。
请你求出 NG 列表中字符串数量可能的最小值。
输入格式
输入按以下格式从标准输入给出。
> $N$
> $S_1$
> $S_2$
> $\vdots$
> $S_N$
输出格式
请输出 NG 列表中字符串数量可能的最小值。
说明/提示
## 限制条件
- $1\leq N\leq 26^2$
- $N$ 为整数。
- $S_i$ 为仅包含大写英文字母的长度为 $2$ 的字符串。
- $S_1,S_2,\ldots,S_N$ 均互不相同。
## 样例解释 1
满足条件的 NG 列表例如可以由以下 $3$ 个字符串组成:
- `CABCDE`
- `DF`
- `XX`
这是由 $3$ 个字符串组成的,且不存在由 $2$ 个或更少字符串组成且满足条件的 NG 列表,因此输出 $3$。
## 样例解释 2
满足条件的 NG 列表例如可以由以下 $2$ 个字符串组成:
- `ACDE`
- `BCDF`
注意,已使用过的商品名可以在 NG 列表中的多个字符串中出现,也可以在同一个字符串中出现多次。
## 样例解释 3
例如,仅由 `ABACBADB` 组成的 NG 列表就满足条件。
由 ChatGPT 4.1 翻译