#P3856. [TJOI2008] 公共子串

    ID: 4555 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度提高+/省选− 上传者: 标签>动态规划 DP2008各省省选枚举天津

[TJOI2008] 公共子串

题目描述

一个字符串的子串是在这个串基础上去掉 00 个或者若干个字符所形成的,例如 abc\texttt{abc}aa\texttt{aa}abbc\texttt{abbc} 都是字符串 aabbcc\texttt{aabbcc} 的子串,而 aba\texttt{aba} 不是。 现给你三个字符串,请问他们三个共同含有多少种子串(不算空串)?

注意: 有些相同的公共子串尽管出现在不同的位置,但仍算 11 种,详见样例。

输入格式

每组测试数据只有 33 行,每行都是一个只包含有小写字母的字符串。

输出格式

输出 33 个字符串共有的公共子串种类数。

apartment
apache
approach

6

提示

33 个字符串共有的公共子串有:a\texttt{a}p\texttt{p}ap\texttt{ap}pa\texttt{pa}aa\texttt{aa}apa\texttt{apa}。 其中子串 a\texttt{a} 有多个,但由于统计的是公共子串种类,所以 a\texttt{a} 只算 11 种子串。

对于 100%100\% 的数据,字符串的长度不超过 100100。字符串中只含有小写字母。