UVa11988 Broken Keyboard (a.k.a. Beiju Text)
题目复制太麻烦了,甩个链接
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)相关推荐
- 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 ...
- 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 ...
- 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 ...
- Broken Keyboard (a.k.a. Beiju Text) UVA - 11988 (链表)
题目链接:https://vjudge.net/problem/UVA-11988 题目大意:输入一个字符串,输出在原本应该是怎么样的? 具体方法是 碰到' [ ' 回到最前面 碰到' ]' 回 ...
- UVA 11988——Broken Keyboard (a.k.a. Beiju Text)
题意:给定一个字符串,然后[会将光标跳转到头,]会将光标调到尾,问最后正确的输入. 思路:直接用list来模拟即可,[的时候就在头插,]就在尾插,也可根据递归顺序解. code: #include & ...
- 例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988)
例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988) 链表的应用 #include<iostream> # ...
- UVa11988 Broken Keyboard(练习链表使用)
向量和数组的优势是可以随机的存取元素和在末尾添加删除元素,而当插入元素时,需要移动大量的数据,消耗大量的时间.而链表的优势是可以在O(1)删除和插入数据.所以在频繁移动元素时,可以使用链表. 分析:如 ...
- 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)
立志用最少的代码做最高效的表达 You're typing a long text with a broken keyboard. Well it's not so badly broken. The ...
- UVa11988-破损的键盘 Broken Keyboard
题目描述 You're typing a long text with a broken keyboard. Well it's not so badly broken. The only probl ...
最新文章
- 2012年我的十大工程9——形象工程
- netstat -ano
- 第十一章:WEB浏览器中的javascript
- Flink 与 TiDB 联合发布实时数仓最佳实践白皮书
- Quibi:我轻轻地咬一口 你最爱的Netflix和TikTok
- 基于小波变换的数字图像处理(MATLAB源代码)
- Redis问的太深入,面试官说:“你先回去等通知吧“!
- HTML中IE条件注释判断语句(!--[if XX IE X]![endif]--)
- centos防火墙设置
- 2017二级c语言题库贴吧,2017二级c语言题库
- html注册页面代码实现案例,H5制作一个注册页面的代码实例
- foobar2000播放dff格式音乐的解决办法
- java判断字母是否为元音_Java程序来检查字母是元音还是辅音
- 桌面删除的文件如何找回
- STM32F030C8T6单片机与GY-61 ADXL335模块——角度传感器
- 监控广告变现效果,开发者该如何搭建数据分析体系,如何制定优化策略?
- 计算机网络光纤工作原理,如何实现宽带上网?详细说明光纤网络的工作原理和架构!...
- MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长
- Goland调节字体大小(编辑区,terminal区,页面字体)
- malloc函数实现过程
热门文章
- 经验分享|测试工程师转型测试开发历程
- Python解决模块无法引用问题之pymysql模块导入
- libguestfs java_libguestfs实现原理summary
- 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
- arrayfun用法
- 设计一个媒体类,其中包含:书,CD及磁带3个子类。按照类的设计模式,完成他们的插入、删除和查找功能。
- vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)
- 用python对单一微博文档进行分词——jieba分词(加保留词和停用词)
- “技术需求”与“技术成果”项目之间关联度计算模型 复赛top1解决方案
- 7模型集成:细粒度用户评论情感分析冠军思路及源码