Broken Keyboard 破损键盘 UVA 11988
2017-01-07 21:32
531 查看
#include<cstdio>
#include<cstring>
const int maxn=100000+10;
int linked[maxn]; //通过数组模拟链表
char s[maxn];
int main(){
while(scanf("%s",s+1)==1){ //输入保存在s[1],s[2]....中
int len=strlen(s+1);
linked[0]=0;
int cur=0,last=0;
for(int i=1;i<=len;i++){
if(s[i]=='[')cur=0;
else if(s[i]==']')cur=last;
else {
linked[i]=linked[cur];
linked[cur]=i;
if(cur==last)last=i; //更新"最后一个字符"编号
cur=i; //移动光标
}
}
for(int i=linked[0];i!=0;i=linked[i])
printf("%c",s[i]);
printf("\n");
}
return 0;
}
#include<cstring>
const int maxn=100000+10;
int linked[maxn]; //通过数组模拟链表
char s[maxn];
int main(){
while(scanf("%s",s+1)==1){ //输入保存在s[1],s[2]....中
int len=strlen(s+1);
linked[0]=0;
int cur=0,last=0;
for(int i=1;i<=len;i++){
if(s[i]=='[')cur=0;
else if(s[i]==']')cur=last;
else {
linked[i]=linked[cur];
linked[cur]=i;
if(cur==last)last=i; //更新"最后一个字符"编号
cur=i; //移动光标
}
}
for(int i=linked[0];i!=0;i=linked[i])
printf("%c",s[i]);
printf("\n");
}
return 0;
}
相关文章推荐
- 破损的键盘(Broken KeyBoard)Uva 11988
- 例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 - Broken Keyboard (a.k.a. Beiju Text)
- 链表 UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988——Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text) ( 模拟链表 )
- uva 11988 破损的键盘(链表)
- UVa 11988 Broken Keyboard(链表的应用)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVa11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (链表)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- 破损的键盘(uva 11988)