#P1335. 2024.11.6-秋招(留学生)-第2题-解密字符串
-
ID: 174
Type: Default
1000ms
256MiB
Tried: 89
Accepted: 30
Difficulty: 3
Uploaded By:
TaZi
Tags>模拟
2024.11.6-秋招(留学生)-第2题-解密字符串
题目内容
给定一个加密字符串S,你需要按照以下规则对其解密并输出。解密规则:
1.若当前字符为字母A−Z,a−z,无需解密,原样输出。
2.若当前字符为'(',则其后会跟两个正整数x、y和一个字符')’,正整数x和y之间以逗号为分隔符,你需从当前解密串倒数第x个字符开始复制y个字符作为解密后的信息输出。
需要考虑y大于“剩余可复制字符数"的情况,此时复制需要多次完成先复制全部剩余字符输出,此时解密串的长度已变长,继续1次或者多次复制,直到复制完y个字符。参考样例1和样例2。
约束:
- 0<s.length<=1000,解密后的字符串长度<=2000
- 0<x<=99, 0<y<=99,且输入保证x不会越界,即x小于当前解密串的长度。
- 输入的字符串中只包含大小写字母和(x,y)格式子串
输入描述
输入共一行,代表加密字符串,包含大小写字母和(x,y)格式子串
输出描述
输出共一行,表示解密后的字符串,只包含大小写字母
样例1
输入
ABCDE(3,2)(2,3)
输出
ABCDECDCDC
说明
ABCDE不需要解密,原样输出。
(3,2)解密,向后退3个字符,
ABCDE
|
复制2个字符,得到ABCDECD,(3,2)解密结束;
(2,3)解密,向后退2个字符,
ABCDECD
|
只有2个字符,先复制2个字符CD,得到ABCDECDCD,
ABCDECDCD
|
继续复制1个字符C,得到ABCDECDCDC。(2,3)解密完毕。
样例2
输入
ABCD(3,8)(10,10)mn
输出
ABCDBCDBCDBCCDBCDBCDBCmn
说明
ABCD不需要解密,原样输出,
(3,8)解密,向后退3个字符,到字符B的位置
ABCD
|
先复制3个字符得到ABCDBCD,还剩下5个字符待复制
ABCDBCD
|
再复制3个字符得到ABCDBCDBCD,还剩下2个字符复制
ABCDBCDBCD
|
再复制2个字符得到ABCDBCDBCDBC,还剩下0个字符待复制,(3,8)解密结束
(10,10)解密,向后退10个字符
ABCDBCDBCDBC
|
复制10个字符得到ABCDBCDBCDBCCDBCDBCDBC,(10,10)解密结束
mn不需要解密,原样输出,解密结束,结果为:ABCDBCDBCDBCCDBCDBCDBCmn
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 24ms
- Powered by Hydro v4.14.1 Community