AT_abc413_b [ABC413B] cat 2

题目描述

给定 $N$ 种字符串 $S_1, S_2, \ldots, S_N$。 你可以进行如下操作一次: - 选择两个**不同的**整数 $i, j\ (1 \leq i \leq N, 1 \leq j \leq N)$,将 $S_i$ 和 $S_j$ 按顺序连接起来。 请你求出通过上述操作能够得到多少种不同的字符串。 需要注意的是,即使选择的 $(i, j)$ 不同,只要连接后的字符串相同,也只算作一种。

输入格式

输入以如下格式从标准输入读入。 > $N$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$

输出格式

输出通过操作能够得到的不同字符串的种数。

说明/提示

## 限制条件 - $2 \leq N \leq 100$ - $N$ 为整数 - $S_i$ 是仅由小写英文字母组成的,长度在 $1$ 到 $10$ 之间的字符串 - $S_i \ne S_j\ (1 \leq i < j \leq N)$ ## 样例解释 1 可以得到的字符串有:`atatco`、`atcoat`、`atcoder`、`atcocoder`、`atder`、`coderat`、`coderatco`、`coderder`、`derat`、`deratco`、`dercoder` 共 $11$ 种。因此输出 `11`。 ## 样例解释 2 可以得到的字符串有:`aaa`、`aaaa`、`aaaaa`、`aaaaaa`、`aaaaaaa`、`aaaaaaaa`、`aaaaaaaaa` 共 $7$ 种。因此输出 `7`。 由 ChatGPT 4.1 翻译