#aBC343G. [ABC343G] Compress Strings

[ABC343G] Compress Strings

AT_abc343_g [ABC343G] Compress Strings

题目描述

给定 NN 个字符串 S1,S2,,SNS_1,S_2,\ldots,S_N

请你求出一个最短的字符串的长度,使得它包含所有 S1,S2,,SNS_1,S_2,\ldots,S_N 作为其子串。

这里,字符串 SS 包含字符串 TT 作为子串,指的是可以通过从 SS 的开头删除 00 个或多个字符、从末尾删除 00 个或多个字符,得到 TT

输入格式

输入通过标准输入按以下格式给出。

NN
S1S_1
S2S_2
\vdots
SNS_N

输出格式

请输出一个整数,表示答案。

输入输出样例 #1

输入 #1

3
snuke
kensho
uk

输出 #1

9

输入输出样例 #2

输入 #2

3
abc
abc
arc

输出 #2

6

输入输出样例 #3

输入 #3

6
cmcmrcc
rmrrrmr
mrccm
mmcr
rmmrmrcc
ccmcrcmcm

输出 #3

27

说明/提示

限制条件

  • NN 是整数。
  • 1N201 \leq N \leq 20
  • SiS_i 是仅由小写英文字母组成的、长度至少为 11 的字符串。
  • S1,S2,,SNS_1,S_2,\dots,S_N 的总长度不超过 2×1052\times 10^5

样例解释 1

长度为 99 的字符串 snukensho 包含了 S1,S2,S3S_1,S_2,S_3 作为其子串。具体来说,snukensho 的第 11 到第 55 个字符对应 S1S_1,第 44 到第 99 个字符对应 S2S_2,第 33 到第 44 个字符对应 S3S_3。不存在比这更短且包含所有 S1,S2,S3S_1,S_2,S_3 作为子串的字符串。因此,答案为 99

由 ChatGPT 4.1 翻译