#B1500. 字符串的展开

字符串的展开

【题目描述】

给定一个包含数字、小写字母和减号 - 的字符串,请按照三个参数展开其中的简写。

当减号两侧是同类字符(同为小写字母或同为数字),且右侧字符的 ASCII 码严格大于左侧字符时,需要展开。

设三个参数为 p1,p2,p3p_1,p_2,p_3:

  • p1=1p_1=1 时,字母使用小写形式展开;
  • p1=2p_1=2 时,字母使用大写形式展开;
  • p1=3p_1=3 时,待填充字符全部使用 *;
  • p2p_2 表示每个待填充字符重复的次数;
  • p3=1p_3=1 表示按递增顺序填充,p3=2p_3=2 表示按递减顺序填充。

减号两侧的字符始终保留。

如果右侧字符正好是左侧字符的后继,只删除减号;

如果右侧字符不大于左侧字符,保留减号。

【输入描述】

输入两行。

第一行输入三个正整数 p1,p2,p3p_1,p_2,p_3。

第二行输入待展开的字符串。

保证:

  • 1≤p1≤31\le p_1\le3;
  • 1≤p2≤81\le p_2\le8;
  • 1≤p3≤21\le p_3\le2;
  • 字符串长度不超过 100100;
  • 字符串只包含数字、小写字母和减号 -。

【输出描述】

输出展开后的字符串。

【样例 1】

【样例 1 输入】

1 2 1
abcs-w1234-9s-4zz

【样例 1 输出】

abcsttuuvvw1234556677889s-4zz

【样例 2】

【样例 2 输入】

2 3 2
a-d-d

【样例 2 输出】

aCCCBBBd-d

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 4 40 字符串长度不超过 55
5 ~ 10 60 字符串长度不超过 100100