Lemon 丢给你两个字母序列 和
,并无情地交给了你一个奇怪的任务——求最长非公共子序列。
序列a 是 b 的子序列,当且仅当从 b 中删除一些元素(可以是零个或所有)能得到 a。
例如:
我们可以通过从"abcde" 中删除 "b" 和 "d" 得到 "ace",因此 "ace" 是 "abcde" 的子序列。
同理"abcde","e" 和空串 都是 "abcde" 的子序列;
但"abdc" 不是 "abcde" 的子序列。
序列c 是 和
的非公共子序列当且仅当它满足以下条件中的任何一个:
· c是
的子序列但不是s2的子序列;
· c是
的子序列但不是s1的子序列。
和
的非公共子序列可能有很多,你只需要求出其中长度最长的非公共子序列的长度。
第一行包含一个字符串s1,第二行包含一个字符串s2.(
)
在一行输出一个整数,表示最长非公共子序列的长度。
特别地,如果不存在非公共子序列,输出-1 。