• 6-4 破碎的键盘 uva11988


    基础的数组链表

    用cur标记光标之前的  用last标记最后的十分巧妙

    数组开的不够大会引起RE!!

    next[0]=0;这使得最后一项所指的为0

    核心语句:

    next[i]=next[cur]

    next[cur]=i

    当为正常顺序时

    第一句 :把当前指向 最后一项(0)   再把前一项(cur)指向当前!!!

    #include<cstring>
    #include<cstdio>
    using namespace std;
    
    
    int main()
    {
        int next[100001];char s[100001];
        while(1==scanf("%s",s+1))
        {
    
          int  len=strlen(s+1);
            int cur,last;
            cur=last=0;
            next[0]=0;
    
            for(int i=1;i<=len;i++)
            {
                char ch=s[i];
                if(ch=='[')cur=0;
                else if(ch==']')cur=last;
                else
                {
                    next[i]=next[cur];
                    next[cur]=i;
                    if(last==cur)last=i;
                    cur=i;
    
    
                }
    
    
    
            }
    
    
            for(int i=next[0];i!=0;i=next[i])
                printf("%c",s[i]);
            printf("
    ");
    
    
    
    
        }
    
    
    
    
    
    
    
    
    
    
        return 0;
    }
    View Code
  • 相关阅读:
    深入理解多态..............................
    走过路过 不要错过..
    进军C#..
    员工打卡....
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
  • 原文地址:https://www.cnblogs.com/bxd123/p/10286051.html
Copyright © 2020-2023  润新知