#L6174. 「美团 CodeM 初赛 Round B」合并字符串的价值
「美团 CodeM 初赛 Round B」合并字符串的价值
题目描述
输入两个串 ,你需要把 组合成一个串 ,使得 且 可以拆成两个没有重复元素的子序列的并,使得一个子序列为 ,另一个子序列为 。
一个字符串 的价值定义如下():
枚举所有的分界线 ,令 ,将 的字符重新排列使得 的最长公共前缀最大,所有可能的分界线中 的最长公共前缀的最大值就是这个字符串的价值。
例如字符串 的价值为 ,因为均分成两半之后得到 ,重新排列之后可以做到 即最长公共前缀为 。
你需要求出所有可能的 中价值最大的字符串,输出这个最大价值即可。
输入格式
第一行一个整数 。
接下来 行,每两行两个字符串分别代表 。
输出格式
对于每组数据输出一行一个整数表示价值最大的 的价值。
样例
输入
2
ACGT
ACGT
AACCGGTT
ACACAGAT
输出
4
7
数据范围与提示
$|a|,|b| \leq 100,000;\quad \sum |a|+|b| \leq 500,000$
的字符集为