#P1553. 2023.08.23-秋招-第二题-文本编辑器

2023.08.23-秋招-第二题-文本编辑器

题目内容

塔子哥玩腻了记事本,打算自己写一个文本编辑器。该编辑器有以下功能:

  1. 插入:insert str。表示将字符串strstr插入到当前游标所处位置,同时游标移动到strstr的右边。
  2. 删除:delete len。表示将游标左边长度为lenlen的字符串删除。要求该功能命令合法,即len0len\ge 0,如果len<0len\lt0或者lenlen大于字符串长度,则认为输入非法,不进行操作。
  3. 移动:move cnt。将游标移动cntcnt次,如果为负数,向左移动,为正数,向右移动。如果cntcnt超过字符串左右边界,那么认为非法,不进行移动。
  4. 复制:copy。将游标左边字符串复制并插入到游标的右边。游标位置不变

现在塔子哥已经写好了该文本编辑器,而你正在使用它,那么输入一系列命令后,会得到什么结果呢?

输入描述

每行仅输入一个功能对应的操作。如果为endend,代表操作结束。

初始时,字符串为空。游标位置为00

1str.length401 \le str.length \le 40

1len401 \le len \le 40

40cnt40-40 \le cnt \le 40

调用insert,delete,move和copy的总次数不超过200次。

输出描述

最终的文本结果,注意,结果应当包含游标,用"|"表示。

样例

输入

insert test
insert pass
move 10
delete 4
insert fail
move -4
copy
end

输出

test|testfail