CF1584F Strange LCS
题目描述
给定 $n$ 个字符串 $s_1, s_2, \ldots, s_n$,每个字符串仅由大小写英文字母组成。此外,保证每个字符在每个字符串中最多出现两次。请找出这些字符串的最长公共子序列。
如果字符串 $t$ 可以通过从字符串 $s$ 中删除若干(可能为零或全部)字符得到,则称 $t$ 是 $s$ 的一个子序列。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 5$),表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个整数 $n$($2 \leq n \leq 10$),表示字符串的数量。
接下来的 $n$ 行,每行包含一个字符串 $s_i$。每个 $s_i$ 非空,仅包含大小写英文字母,并且每个字符在每个字符串中最多出现两次。
输出格式
对于每组测试用例,输出两行:
第一行输出最长公共子序列的长度。
第二行输出最长公共子序列。如果存在多个最长公共子序列,输出其中任意一个即可。
说明/提示
在第一个测试用例中,最长的公共子序列是 "A"。不存在长度为 $2$ 的公共子序列。
在第二个测试用例中,各字符串的字符集合没有交集,因此不存在非空的公共子序列。
由 ChatGPT 4.1 翻译