#include<bits/stdc++.h>
int i,n,cur,last,next[100010];
char c,s[100010];
int main(){
while(scanf("%s",s+1)==1){
n=strlen(s+1);
last=cur=0;
next[0]=0;
for(i=1;i<=n;i++){
c=s[i];
if(c=='[')cur=0;
else if(c==']')cur=last;
else{
next[i]=next[cur];
next[cur]=i;
if(cur==last)last=i;
cur=i;
}
}
for(i=next[0];i!=0;i=next[i])
printf("%c",s[i]);
puts("");
}
return 0;
}
UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
最新推荐文章于 2019-02-24 08:42:41 发布