CF346B Lucky Common Subsequence

题目描述

在数学中,子序列指的是可以通过删除某些元素(不改变其余元素的顺序)从另一个序列得到的序列。例如,序列 BDF 是序列 ABCDEF 的一个子序列。字符串的子串则是字符串的连续子序列。例如,BCD 是 ABCDEF 的一个子串。 现给定两个字符串 $s_{1}$、$s_{2}$ 和另一个称为 $virus$ 的字符串。你的任务是求出 $s_{1}$ 和 $s_{2}$ 的最长公共子序列,使得其不包含 $virus$ 作为子串。

输入格式

输入包含三行,分别为 $s_{1}$、$s_{2}$ 和 $virus$($1 \leq |s_{1}|,|s_{2}|,|virus| \leq 100$)。每个字符串只包含大写英文字母。

输出格式

输出 $s_{1}$ 和 $s_{2}$ 的最长公共子序列,且不能包含 $virus$ 作为子串。如果有多个答案,可以输出任意一个。 如果没有合法的公共子序列,输出 $0$。

说明/提示

由 ChatGPT 5 翻译