Broken Keyboard 破损键盘 UVA 11988

「爱情、让人受尽委屈。」 2024-02-17 18:50 148阅读 0赞
  1. #include
  2. #include
  3. const int maxn=100000+10;
  4. int linked[maxn]; //通过数组模拟链表
  5. char s[maxn];
  6. int main(){
  7. while(scanf(“%s”,s+1)==1){ //输入保存在s[1],s[2]….中
  8. int len=strlen(s+1);
  9. linked[0]=0;
  10. int cur=0,last=0;
  11. for(int i=1;i<=len;i++){
  12. if(s[i]==’[‘)cur=0;
  13. else if(s[i]==’]‘)cur=last;
  14. else {
  15. linked[i]=linked[cur];
  16. linked[cur]=i;
  17. if(cur==last)last=i; //更新”最后一个字符”编号
  18. cur=i; //移动光标
  19. }
  20. }
  21. for(int i=linked[0];i!=0;i=linked[i])
  22. printf(“%c”,s[i]);
  23. printf(“\n”);
  24. }
  25. return 0;
  26. }

发表评论

表情:
评论列表 (有 0 条评论,148人围观)

还没有评论,来说两句吧...

相关阅读