HM195 字牌插入擦除

HM195 字牌插入擦除

HM195 字牌插入擦除

来源: 第 195 集 string容器-字符串插入和删除

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

字牌允许在中间插入一段内容,也允许擦掉一段。

插入用 insert,第一个参数是位置(从 \(0\) 起算)。可以插入 C 风格字符串,也可以插入另一张字牌,还可以插入 \(k\) 个相同字符。

删除用 erase:从指定位置起删掉给定个数。

注意:下标从 \(0\) 开始。对 hello 来说,\(0\) 号是 h,\(1\) 号才是 e。在 \(1\) 号位置插入 111,得到 h111ello;再从 \(1\) 号起擦掉 \(3\) 个,就回到 hello

请对同一张底牌做三次独立操作(每次都从原始字牌出发):先插入一段 C 风格字符串,再插入 \(k\) 个相同字符,最后按位置和长度擦除。

输入格式

第一行一个不含空白的字符串 \(s\)。

第二行一个整数 \(p_1\) 和一个不含空白的字符串 \(w\),表示 insert(p1, w)

第三行两个整数 \(p_2\)、\(k\) 和一个字符 \(ch\),表示 insert(p2, k, ch)

第四行两个整数 \(p_3\)、\(cnt\),表示 erase(p3, cnt)

输出格式

共三行:

  1. 在原始 \(s\) 上插入 \(w\) 之后的结果
  2. 在原始 \(s\) 上插入 \(k\) 个 \(ch\) 之后的结果
  3. 在原始 \(s\) 上擦除之后的结果

样例

输入 #1

hello
1 111
0 2 x
1 3

输出 #1

h111ello
xxhello
ho

输入 #2

ab
0 Z
1 3 *
1 1

输出 #2

Zab
a***b
a

说明

\(1 \le |s|,|w| \le 1000\),\(1 \le k \le 100\)。所有下标合法:\(0 \le p_1,p_2 \le |s|\)(可以插在末尾),\(0 \le p_3 < |s|\),\(1 \le cnt\) 且 \(p_3+cnt \le |s|\)。

三次操作互相独立,都从原始 \(s\) 拷一份再改。插入位置是「插到该下标上,原下标及后面的字符右移」。

信息

ID
1194
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者