记录编号 200857 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010冲刺十三]外星密码 最终得分 100
用户昵称 Gravatar<蒟蒻>我要喝豆奶 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2015-10-29 17:17:52 内存使用 0.41 MiB
显示代码纯文本
#include<cstring>
#include<iostream>
#include<cstdio>
#include<stack>
#define MAXN 100010UL
using namespace std;
string s,ans,dp[15];
string __________________________;
bool vis[MAXN];
inline void work(void){
	int L=0;
	for(int i=0;i<s.size();i++){
		if(s[i]=='[')L++;
		if(i==0&&s[i]!='['&&s[i]!=']'||s[i]!='['&&s[i]!=']'&&s[i-1]!='['&&(s[i]<'0'||s[i]>'9'))
			dp[L]+=s.substr(i,1);
		if(s[i]==']'){
			int j=i;
			while(s[j]!='['||vis[j])j--;
			vis[j]=1;
			string t;
			if(s[j+2]>='0'&&s[j+2]<='9')
				for(int k=1;k<=(s[j+1]-'0')*10+s[j+2]-'0';k++){
					t+=dp[L];
			}else{
				for(int k=1;k<=s[j+1]-'0';k++)
					t+=dp[L];
			}L--;
			dp[L]+=t;
			dp[L+1]=__________________________;
		}
	}return ;
} 
int main(){
	freopen("passworda.in","r",stdin);
	freopen("passworda.out","w",stdout);
	ios::sync_with_stdio(false);
	cin>>s;
	work();
	cout<<dp[0];
	return 0;
}/*
[10S[2Z]]
*/