比赛 |
20241022 |
评测结果 |
AAWAAWWWAW |
题目名称 |
解压缩 |
最终得分 |
50 |
用户昵称 |
蜀山鸭梨大 |
运行时间 |
0.035 s |
代码语言 |
C++ |
内存使用 |
3.35 MiB |
提交时间 |
2024-10-22 10:08:03 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
string S,s;
stack <int> stk1,stk2;
long long e=1;
int main(){
freopen("extract.in","r",stdin);
freopen("extract.out","w",stdout);
cin>>S;
int n=S.size();
for(int i=0;i<n;i++){
if(S[i]>='1'&&S[i]<='9'){
stk2.push(S[i]-'0');
continue ;
}
if(stk2.size()){
int j=1,num=0;
while(stk2.size()){
num+=stk2.top()*j;
j*=10;
stk2.pop();
}
stk1.push(num);
e*=num;
}
if(S[i]>='A'&&S[i]<='Z'){
s.append(S.substr(i,1));
}
else{
if(s.size()){
for(long long j=1;j<=e;j++){
cout<<s;
}
s.erase(0);
}
if(S[i]==']'){
e/=stk1.top();
stk1.pop();
}
}
}
if(s.size()) cout<<s;
return 0;
}