我·又回来了·!这次是来问问题的嘿嘿·想知道c++怎么做
4.文档编辑(editor.cpp)
【问题描述】
让小明头痛的工作来了,现在有一篇字符文档,小明必须按照指令对它完成编辑工作;
当然,小明是通过控制光标来完成输入,删除,插入等;光标(不占字符)在文档的任意两
个连续字符之间,或者最前面(是指光标在第一个字符的左边);如果一开始,光标在文档
的最末尾(既最后一个字符的右边第一个位置),那么,通过一串指令,你能帮助小明处理
并得到最后编辑好的文档吗?
指令如下:
L:将光标左移一个字符(如果它在开头,则什么都不用做)
D:将光标右移一个字符(如果它在末尾,则什么都不用做)
B:删除它(光标)左边的一个字符(如果它在开头,则什么都不用做)
P$:在光标处插入字符$($可以是任意一个小写的英文字母),完成后光标在插入字的
3
右边;
【输入格式】
输入文件名为 editor.in。
输入文件有 n+2 行。
第一行:一篇文章,只包含小写的英文字母,并且长度不超过 100000;
下面一行是整数 n:表示编辑操作的次数;
以下 n 行:表示每一步的编辑操作;
【输出格式】
输出文件名为 editor.out。
输出文件为一个字符串,表示完成了所有的编辑操作后的文档。
【输入输出样例 1】
editor. in
dmih
11
B
B
P x
L
B
B
B
P y
D
D
P z
editor.out
yxz
【输入输出样例 2】
editor. in
awffjzhmko
20
L
L
L
L
L
L
L
L
L
D
D
P x
P i
4
D
P c
P f
P o
P f
P q
P e
editor.out
awfxifcfofqejzhmko
【数据说明】
对于 100% 的数据,1<=n<=500000。