C语言--字符串匹配

有若干字符串,依次进行如下操作:
对一个字符串buf, 初始长度 <= 10, 我们对其有以下三种操作:·
● 操作1的格式为"1_a", 表示在字符串buf末尾添加字符串a. (a的长度<= 100)·
●操作2的格式为"2_b",表示查询字符串b与字符串buf的最长连续公共子串的长度。(b的长度<=100)·
● 操作3的格式为"3_len", 表示删除字符串buf末尾 len 个字符. 保证len 小于等于字符串buf的长度。
对buf进行m <= 10000次操作。对于每个操作2, 输出最长公共连续最长字串长度。
注意,每次操作之后的所有buf串平均长度约为10。

输入
有1组或多组数据(最多约10组数据),每组数据格式如下:
第一行一个字符串buf。(由小写字母构成,长度小于10)
第二行一个整数 m,表示有m个操作。接下来m行每行一个操作
输出
对于每个2操作, 输出ans

img