| 比赛 |
20251022赛前模拟1 |
评测结果 |
AAAAAAAAAA |
| 题目名称 |
解压缩 |
最终得分 |
100 |
| 用户昵称 |
梦那边的美好ME |
运行时间 |
0.029 s |
| 代码语言 |
C++ |
内存使用 |
3.99 MiB |
| 提交时间 |
2025-10-22 10:26:04 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long
string s;
string ans[10010];
ll cnt,a[10010];
int main(){
freopen("extract.in","r",stdin);
freopen("extract.out","w",stdout);
// freopen("in.in","r",stdin);
// freopen("out.out","w",stdout);
cin>>s;
s=' '+s;
a[0]=1;
ans[0]="";
for (int i=1;i<s.length();i++){
if (s[i]>='0'&&s[i]<='9'){
ll num=0;
while (i<s.length()&&s[i]>='0'&&s[i]<='9'){
num=num * 10+(s[i]-'0');
i++;
}
i--;
a[cnt]=num;
}else if (s[i]=='['){
cnt++;
a[cnt]=1;
ans[cnt]="";
}else if (s[i]==']'){
string temp=ans[cnt];
string repeated;
for (int k=0;k<a[cnt];k++){
repeated+=temp;
}
cnt--;
ans[cnt]+=repeated;
ans[cnt+1]="";
a[cnt+1]=1;
}else if (isalpha(s[i])){
ans[cnt]+=s[i];
}
}
cout<<ans[0]<<endl;
return 0;
}