| 记录编号 | 
        200920 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        1239.[NOIP 2010冲刺十三]外星密码 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         神利·代目 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.003 s  | 
    
    
        | 提交时间 | 
        2015-10-29 18:46:43 | 
        内存使用 | 
        0.46 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int len,S[20100],id[20100];
string s,c[55];
inline void dfs(int deep,int l,int r)
{
	int num=1;
	if(s[l]<='9'&&s[l]>='0')
	{
		num=s[l]-48;
		++l;
		if(s[l]<='9'&&s[l]>='0')
		{
			num=(num<<3)+(num<<1)+s[l]-48;
			++l;
		}
	}
	c[deep].erase();
	string ss;
	int i=l;
	for(;i<=r;++i)
	{
		if(s[i]!='[')
			ss+=s[i];
		else
		{
			dfs(deep+1,i+1,id[i]-1);
			ss+=c[deep+1];
			i=id[i];
		}
	}
	while(num--)
	    c[deep]+=ss;
}
int main()
{
	freopen("passworda.in","r",stdin);
	freopen("passworda.out","w",stdout);
	cin>>s;
	len=s.size();
	for(int i=0;i<len;++i)
	{
	    if(s[i]=='[')
	        S[++S[0]]=i;
		if(s[i]==']')
		    id[S[S[0]--]]=i;
	}
	dfs(0,0,len-1);
	cout<<c[0];
	//while(1);
}