题目复制太麻烦了,甩个链接

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

直接模拟光标操作时间复杂度较高,所以用链表存储顺序。

pos表示光标位置

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 char s[200000];
 8 char ch;
 9 int last,pos;//last存储最后一个字符的位置,pos存储当前光标位置
10 int nexto[200000];
11 int main(){
12     while(scanf("%s",s+1)!=EOF){
13         int len=strlen(s+1);
14         last=0;pos=0;
15         nexto[0]=0;//初始化
16         int i;
17         for(i=1;i<=len;i++){
18             if(s[i]=='[')pos=0;
19             else if(s[i]==']')pos=last;
20             else{
21                 nexto[i]=nexto[pos];
22                 nexto[pos]=i;
23                 if(pos==last)last=i;//更新最后位置
24                 pos=i;//更新光标位置
25             }
26         }
27         for(i=nexto[0];i!=0;i=nexto[i])printf("%c",s[i]);
28         printf("\n");
29     }
30     return 0;
31 }

转载于:https://www.cnblogs.com/SilverNebula/p/5557198.html

UVa11988 Broken Keyboard (a.k.a. Beiju Text)相关推荐

  1. UVA11988 Broken Keyboard (a.k.a. Beiju Text)【输入输出+水题】

    You're typing a long text with a broken keyboard. Well it's not so badly broken. The only problemwit ...

  2. Broken Keyboard (a.k.a. Beiju Text)

    原题及翻译 Broken Keyboard (a.k.a. Beiju Text) 破碎的键盘(a.k.a. Beiju Text) You're typing a long text with a ...

  3. 11988 - Broken Keyboard (a.k.a. Beiju Text)

    Broken Keyboard (a.k.a. Beiju Text) You're typing a long text with a broken keyboard. Well it's not ...

  4. Broken Keyboard (a.k.a. Beiju Text) UVA - 11988 (链表)

    题目链接:https://vjudge.net/problem/UVA-11988 题目大意:输入一个字符串,输出在原本应该是怎么样的?  具体方法是 碰到' [ ' 回到最前面  碰到' ]'  回 ...

  5. UVA 11988——Broken Keyboard (a.k.a. Beiju Text)

    题意:给定一个字符串,然后[会将光标跳转到头,]会将光标调到尾,问最后正确的输入. 思路:直接用list来模拟即可,[的时候就在头插,]就在尾插,也可根据递归顺序解. code: #include & ...

  6. 例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988)

    例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988) 链表的应用 #include<iostream> # ...

  7. UVa11988 Broken Keyboard(练习链表使用)

    向量和数组的优势是可以随机的存取元素和在末尾添加删除元素,而当插入元素时,需要移动大量的数据,消耗大量的时间.而链表的优势是可以在O(1)删除和插入数据.所以在频繁移动元素时,可以使用链表. 分析:如 ...

  8. 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)

    立志用最少的代码做最高效的表达 You're typing a long text with a broken keyboard. Well it's not so badly broken. The ...

  9. UVa11988-破损的键盘 Broken Keyboard

    题目描述 You're typing a long text with a broken keyboard. Well it's not so badly broken. The only probl ...

最新文章

  1. 2012年我的十大工程9——形象工程
  2. netstat -ano
  3. 第十一章:WEB浏览器中的javascript
  4. Flink 与 TiDB 联合发布实时数仓最佳实践白皮书
  5. Quibi:我轻轻地咬一口 你最爱的Netflix和TikTok
  6. 基于小波变换的数字图像处理(MATLAB源代码)
  7. Redis问的太深入,面试官说:“你先回去等通知吧“!
  8. HTML中IE条件注释判断语句(!--[if XX IE X]![endif]--)
  9. centos防火墙设置
  10. 2017二级c语言题库贴吧,2017二级c语言题库
  11. html注册页面代码实现案例,H5制作一个注册页面的代码实例
  12. foobar2000播放dff格式音乐的解决办法
  13. java判断字母是否为元音_Java程序来检查字母是元音还是辅音
  14. 桌面删除的文件如何找回
  15. STM32F030C8T6单片机与GY-61 ADXL335模块——角度传感器
  16. 监控广告变现效果,开发者该如何搭建数据分析体系,如何制定优化策略?
  17. 计算机网络光纤工作原理,如何实现宽带上网?详细说明光纤网络的工作原理和架构!...
  18. MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长
  19. Goland调节字体大小(编辑区,terminal区,页面字体)
  20. malloc函数实现过程

热门文章

  1. 经验分享|测试工程师转型测试开发历程
  2. Python解决模块无法引用问题之pymysql模块导入
  3. libguestfs java_libguestfs实现原理summary
  4. 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
  5. arrayfun用法
  6. 设计一个媒体类,其中包含:书,CD及磁带3个子类。按照类的设计模式,完成他们的插入、删除和查找功能。
  7. vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)
  8. 用python对单一微博文档进行分词——jieba分词(加保留词和停用词)
  9. “技术需求”与“技术成果”项目之间关联度计算模型 复赛top1解决方案
  10. 7模型集成:细粒度用户评论情感分析冠军思路及源码