zoukankan      html  css  js  c++  java
  • UVa

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18693

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    /*************************************************************************************************************
            题意:题目大意:你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。
                  给你一段按键的文本,其中'['表示Home键,']'表示End键,输出这段悲剧的文本。
            思路:
            1,使用链表来模拟,遇到Home键,就将后边的文本插入到这段文本的最前边,
            2,遇到End键,就插入到这段文本的最后边。
            3,重点学习数组模拟链表的使用方法,具体写到注释里面了,好好理解。
    *************************************************************************************************************/
    
    char s[101000];
    int Next[101000];
    
    int main()
    {
        int cur,last;//cur为光标位置,last为显示屏最后一个字符
        while(cin>>s+1)
        {
            memset(Next,0,sizeof(Next));
    
            int len = strlen(s+1);
            Next[0] = 0;
            cur = last = 0;
    
            for(int i = 1; i <= len; i++){
                if(s[i] == '[')
                    cur = 0;
                else if(s[i] == ']')
                    cur = last;
                else{
                    Next[i] = Next[cur];        //第i个字符指向光标位置
                    Next[cur] = i;      //光标指向下一个字符
                    if(cur == last)     //只有光标在当前最后一个字符位置或是遇到]后才执行
                        last = i;
                    cur = i;        //移动光标
                }
            }
            for(int i = Next[0]; i != 0; i = Next[i])
                cout<<s[i];
            cout<<endl;
            memset(s,0,sizeof(s));
        }
        return 0;
    }
    



  • 相关阅读:
    进入社会,我们要做哪些准备?
    2天玩转单反相机(第二讲)
    Google广告优化与工具
    Ext JS 4:模型剖析
    iphone开发教程(1) iOS大纲
    iPhone objectivec字符串类NSString的使用
    Ext JS 4倒计时:图形和图表
    Ext JS 4倒计时:开发者预览版
    WOSA介绍
    “苹果皮”与知识产权
  • 原文地址:https://www.cnblogs.com/Jstyle-continue/p/6351971.html
Copyright © 2011-2022 走看看