A. 字符串展开

    传统题 文件IO:expand 1000ms 512MiB

字符串展开

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

本题使用文件输入输出:输入文件名为 expand.in,输出文件名为 expand.out。

小 Z 发明了一种压缩字符串的记法:

  • 一个小写字母表示它自己;
  • k[A] 表示把方括号里的内容 A 重复 kk 遍,其中 kk 是一个正整数(可以有多位),A 本身也是一个合法的压缩串(也就是说,方括号可以嵌套);
  • 把若干个上面两种形式依次拼接起来,仍然是合法的压缩串。

例如 ab3[c2[d]]e 展开后是 abcddcddcdde:先把 2[d] 展开成 dd,于是 3[cdd] 展开成 cddcddcdd,再和前后的字母拼起来。

给你一个合法的压缩串,请输出它展开后的字符串。

输入格式

输入文件名为 expand.in。

一行一个字符串 ss,只含小写字母、数字、[ 和 ],保证是合法的压缩串,且不会出现 0[、00[ 这样以 00 开头的重复次数。

输出格式

输出文件名为 expand.out。

一行一个字符串,表示展开后的结果。

样例 #1

样例输入 #1

ab3[c2[d]]e

样例输出 #1

abcddcddcdde

样例 #2

样例输入 #2

12[x]2[3[y]z]

样例输出 #2

xxxxxxxxxxxxyyyzyyyz

样例解释

重复次数可以是多位数:12[x] 展开成 1212 个 x。2[3[y]z] 先把里面的 3[y]z 展开成 yyyz,再重复 22 遍。

提示

数据范围

  • 对于 30%30\% 的数据:方括号不嵌套,且每个重复次数都是一位数;
  • 对于 60%60\% 的数据:方括号不嵌套;
  • 对于 100%100\% 的数据:1≤∣s∣≤1041 \le |s| \le 10^4,每个重复次数在 1∼1001 \sim 100 之间,保证展开后的字符串长度不超过 2×1052 \times 10^5。

CSP模拟赛-Level B

未参加
状态
已结束
规则
OI
题目
6
开始于
2026-10-7 21:15
结束于
2026-10-16 5:15
持续时间
200 小时
主持人
参赛人数
7