字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
本题给出操作及参数,要求输出对应的字符串,对于每个询问,输出当时保存的字符串
输入多组数据。
每组数据第一行为一个字符串A(设长度为k,1<=k<=1000)。
第二行为一个正整数n(1<=n<=1000)
接下来n行,进行多种操作。
修改操作:
第一种: Insert p s。表示向字符串A的第p个字符的位置处插入字符串s。(s字符串长度为k,1<=k<=100)。
第二种: Delete x y。表示删除字符串A中第x个字符开始的y个字符。
第三种: Replace p n s 删除从p开始的n个字符,然后在p处插入串s。
询问操作:
第一种: Length 返回当前字符串的长度
第二种: Substr p n 返回p位置开始的n个字符组成的字符串
第三种: Compare pos n s 比较当前字符串从pos开始的n个字符组成的字符串与s的大小,按照字典序,大于为1,等于为0,小于为-1
第四种: Find p s 从pos开始查找字符串s在当前串中的位置,未找到输出0,s最多出现一次
对于每组字符串A,输出最终的字符串A。 对于每个询问,输出当时的字符串
abcdef
7
Length
Insert 5 xyz
Substr 3 7
Delete 8 2
Compare 1 3 abc
Replace 6 2 GTX
Find 2 abc
6
cdxyzef
0
0
abcdxGTX
可以使用动态的线性表,防止MLE
可以使用链式结构插入,防止TLE