| 比赛 | 
    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;
}