#P2112. 【阿里云研发岗】2025-3-30-第一题-字符串和声(二)
【阿里云研发岗】2025-3-30-第一题-字符串和声(二)
题目描述
薯条哥正在学习字符串和声,字符串仅由小写字母和连接线-
构成。我们使用竖线|
来划分小结,例如,
代表两个小结,其中,第一个小结长度为,即;第二个小结长度为,即
随后,我们定义字符串的和声为:字符串和声小节数量和各个小结的长度均与原字符串一致,唯一的区别是其会比原字符串晚个长度出现
和声未出现时使用下划线替代空白位置,小结结束时未输出完整的和声会被直接截断;更具体地,先在每一个小节前面加上条下划线,
随后截取原来的小节的长度位,得到每一个小节的和声。例如,当时,第一小节变为"_ _ ",
_
再截取前位,得到第一小节的和声 " _ _",上方样例的和声最终可以唯一地表示为| _ | _ _|
现在,对于给出的字符串和整数,请你直接输出和声!
输入描述
第一行输入两个整数代表原字符串总长度(包括|在内)和和声延迟的长度。
此后若干行,一共输入个字符,代表原字符串。
保证每行的首末均为竖线'|'',每个小结的长度至少为,小结中的字符仅为小写字母和连接线'-''。
输出描述
根据输入,输出若干行,代表和声字符串。
样例1
输入
16 2
|do-do-re|re--|
输出
|__do-do-|__re|
样例解释
这个样例已经在题面中加以解释。
样例2
输入
15 0
|ciallo|
|-|
|--|
输出
|ciallo|
|-|
|--|
样例3
输入
7 2
|-|
|--|
输出
|_|
|__|
样例4
输入
16 2
|do-do-re|mi---|
输出
|__do-do-|__mi-|
样例解释
第一节和声: 变为_ _
第二节和声:变为 _ _