UVA11988破损的键盘

Posted yjkhhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA11988破损的键盘相关的知识,希望对你有一定的参考价值。

题目链接

维护一个链表,以及当前位置、head、tail的指针,模拟就行了

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;

char s[100010];

int cnt,head,tail,pos;
struct Data
    char c;
    int nxt;
 a[100010];

int main()

    while(scanf("%s",s)!=EOF)
        memset(a,0,sizeof(a));
        cnt=0;
        head=tail=pos=0;
        int n=strlen(s);
        for(int i=0;i<n;++i)
            if(s[i]=='[')
                pos=head;
            else if(s[i]==']')
                pos=tail;
            else
                a[++cnt].nxt=a[pos].nxt;
                a[pos].nxt=cnt;
                a[cnt].c=s[i];
                if(pos==tail) tail=cnt;
                pos=cnt;
            
        
        head=a[head].nxt;
        while(head) putchar(a[head].c),head=a[head].nxt;
        puts("");
    
    return 0;

以上是关于UVA11988破损的键盘的主要内容,如果未能解决你的问题,请参考以下文章

破损的键盘(UVa 11988)

链表-破损的键盘 Uva 11988

UVa 11988 破损的键盘(链表)

例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard,UVa 11988)—静态链表

数组模拟单向链表例题(UVa11988)

UVa11988 Broken Keyboard 损坏的键盘list