AT_abc343_g [ABC343G] Compress Strings
题目描述
给定 $N$ 个字符串 $S_1,S_2,\ldots,S_N$。
请你求出一个最短的字符串的长度,使得它包含所有 $S_1,S_2,\ldots,S_N$ 作为其子串。
这里,字符串 $S$ 包含字符串 $T$ 作为子串,指的是可以通过从 $S$ 的开头删除 $0$ 个或多个字符、从末尾删除 $0$ 个或多个字符,得到 $T$。
输入格式
输入通过标准输入按以下格式给出。
> $N$
> $S_1$
> $S_2$
> $\vdots$
> $S_N$
输出格式
请输出一个整数,表示答案。
说明/提示
## 限制条件
- $N$ 是整数。
- $1 \leq N \leq 20$。
- $S_i$ 是仅由小写英文字母组成的、长度至少为 $1$ 的字符串。
- $S_1,S_2,\dots,S_N$ 的总长度不超过 $2\times 10^5$。
## 样例解释 1
长度为 $9$ 的字符串 `snukensho` 包含了 $S_1,S_2,S_3$ 作为其子串。具体来说,`snukensho` 的第 $1$ 到第 $5$ 个字符对应 $S_1$,第 $4$ 到第 $9$ 个字符对应 $S_2$,第 $3$ 到第 $4$ 个字符对应 $S_3$。不存在比这更短且包含所有 $S_1,S_2,S_3$ 作为子串的字符串。因此,答案为 $9$。
由 ChatGPT 4.1 翻译