HM191 字牌末尾拼接
HM191 字牌末尾拼接
来源: 第 191 集 string容器-字符串拼接
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
拼接的含义是:在已有字牌的**末尾**再追加一段内容。有两套常用接口,并且各自有若干重载。
重载的 +=:
- 追加一段 C 风格字符串。
- 追加一个单字符。
- 追加另一张字牌。
成员函数 append 除了对应上面几种,还多出更灵活的版本:
append一段 C 风格字符串。append(cstr, n):只追加该 C 风格字符串的**前 \(n\) 个字符**。append另一张字牌。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)。
输出格式
共七行,每行一张中间结果:
- \(a\) 追加 \(b\) 之后
- 再追加字符 \(c\) 之后
- 再追加字牌 \(d\) 之后
- \(e\) 追加 \(f\) 之后
- 再追加 \(g\) 的前 \(n\) 个字符之后
- 再追加整张 \(d\) 之后
- 再追加 \(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
- 通过率
- ?
- 上传者