题目描述
题目背景
请实现一个简化的文字处理程序。程序维护一份不含空格的文档,并按照输入顺序执行追加、截取、插入和查找操作。
题目描述
字符串下标从 开始。设当前文档为字符串 ,需要支持以下四种操作:
1 str:把字符串str追加到 的末尾,然后输出修改后的 ;2 a b:只保留 中从下标 开始、连续的 个字符,然后输出截取后的 ;3 a str:在 原下标 所指字符的前面插入str,然后输出修改后的 。当 时表示插到最前面;4 str:在 中查找连续子串str第一次出现的起始下标。找到则输出该下标,否则输出 。此操作不修改 。
所有操作均按给定顺序执行,后一次操作处理的是前一次操作结束后的文档。
输入格式
第一行一个整数 ,表示操作次数。
第二行一个不含空格的字符串,表示初始文档。
接下来 行,每行描述一次操作,格式与题目描述中的四种格式之一相同。
输出格式
共输出 行,每次操作对应一行:
- 操作 输出修改后的完整文档;
- 操作 输出第一次匹配位置,找不到时输出 。
数据范围与约定
- ;
- 初始字符串长度不超过 ;
- 初始字符串以及操作中的
str均不含空格和换行; - 所有截取和插入位置均合法;
- 下标从 开始,截取的第二个参数 表示字符数量,不是结束下标。
样例输入
4
abc
1 bcyb
2 1 6
3 0 q
4 bcb
样例输出
abcbcyb
bcbcyb
qbcbcyb
1
样例说明
第一次操作将 bcyb 追加到 abc 后。第二次操作从下标 开始保留 个字符。第三次操作在文档开头插入 q。最后,子串 bcb 第一次出现的位置是下标 。