HM191 字牌末尾拼接

HM191 字牌末尾拼接

HM191 字牌末尾拼接

来源: 第 191 集 string容器-字符串拼接

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

拼接的含义是:在已有字牌的**末尾**再追加一段内容。有两套常用接口,并且各自有若干重载。

重载的 +=

  1. 追加一段 C 风格字符串。
  2. 追加一个单字符。
  3. 追加另一张字牌。

成员函数 append 除了对应上面几种,还多出更灵活的版本:

  1. append 一段 C 风格字符串。
  2. append(cstr, n):只追加该 C 风格字符串的**前 \(n\) 个字符**。
  3. append 另一张字牌。
  4. append(str, pos, n):从另一张字牌的下标 \(pos\) 起截 \(n\) 个字符,追加到末尾。参数二是起始位置,参数三是个数。

请按输入依次做完这些追加,并在每一步后输出当前字牌。

输入格式

第一行一个不含空白的字符串 \(a\),作为 += 链的起点。

第二行一个不含空白的字符串 \(b\),用 += 追加。

第三行一个字符 \(c\),用 += 追加。

第四行一个不含空白的字符串 \(d\),先做成字牌再 += 上去。

第五行一个不含空白的字符串 \(e\),作为 append 链的起点。

第六行一个不含空白的字符串 \(f\),用 append 追加。

第七行一个不含空白的字符串 \(g\) 和一个整数 \(n\),表示 append(g, n)

第八行两个整数 \(pos\)、\(len\),表示在追加完 \(d\) 之后,再 append(d, pos, len)

输出格式

共七行,每行一张中间结果:

  1. \(a\) 追加 \(b\) 之后
  2. 再追加字符 \(c\) 之后
  3. 再追加字牌 \(d\) 之后
  4. \(e\) 追加 \(f\) 之后
  5. 再追加 \(g\) 的前 \(n\) 个字符之后
  6. 再追加整张 \(d\) 之后
  7. 再追加 \(d\) 中从 \(pos\) 起 \(len\) 个字符之后

行末换行,行内无多余空格。

样例

输入 #1

I
love
:
LoL
I
love
gameABCDE 4
0 3

输出 #1

Ilove
Ilove:
Ilove:LoL
Ilove
Ilovegame
IlovegameLoL
IlovegameLoLLoL

输入 #2

Me
Play
-
DNF
X
YZ
abcdef 2
1 2

输出 #2

MePlay
MePlay-
MePlay-DNF
XYZ
XYZab
XYZabDNF
XYZabDNFNF

说明

所有字符串长度 \(1\sim 200\),只含可见非空白字符。\(1 \le n \le |g|\),\(0 \le pos < |d|\),\(1 \le len\) 且 \(pos+len \le |d|\)。

下标从 \(0\) 算。样例 #1 第 5 行只取 gameABCDE 的前 \(4\) 个,因此 ABCDE 不会进来;第 7 行从 \(d\) 的 \(0\) 号位置再截 \(3\) 个 LoL

信息

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