#P2594. 字符串跨距谜题

字符串跨距谜题

题目描述

在一个古老的密码学世界中,神秘的字符串流传下来了。小k作为一名年轻的解密师,受命解开一道复杂的谜题。他手中有三个关键的线索:字符串 SSS1S1S2S2,其中:

  • 字符串 SS 的长度不超过 300,
  • 字符串 S1S1S2S2 的长度不超过 10。

小k发现,S1S1S2S2 是某种特殊符号的代表,而这些符号的出现顺序至关重要。任务是:检测字符串 S1S1S2S2 是否同时出现在 SS 中,并且确保:

  • S1S1 出现在 S2S2 的左边,并且
  • S1S1S2S2SS 中互不交叉(也就是说,S1S1 的右边界点必须在 S2S2 的左边界点之前)。

更进一步,小k需要找出最大跨距,这意味着:计算最大间隔距离,即从最右边的 S2S2 的起始点到最左边的 S1S1 的终止点之间的字符数目。

如果没有符合条件的出现方式,则需要返回 1-1

例如,给定:

  • S="abcd123ab888efghij45ef67kl"S = "abcd123ab888efghij45ef67kl"
  • S1="ab"S1 = "ab"
  • S2="ef"S2 = "ef"

小k发现,S1S1SS 中出现了 2 次,S2S2 也在 SS 中出现了 2 次,最大跨距为 18。

这项任务充满挑战,小k能成功解开谜题吗?

输入格式

输入共一行,包含三个字符串 SSS1S1S2S2,字符串之间用逗号隔开。

数据保证三个字符串中不含空格和逗号。

输出格式

输出一个整数,表示最大跨距。如果没有满足条件的 S1S1S2S2 存在,则输出 1-1

样例

abcd123ab888efghij45ef67kl,ab,ef
18

提示

有难度,写一当十 字符串综合练习