UVa 11988 Broken Keyboard(链表->数组实现)
/*数组形式描述链表:链表不一定要用指针。
题目链接:UVa 11988 Broken Keyboard
题目大意:
小明没有开屏幕输入一个字符串,电脑键盘出现了问题会不定时的录入 home end 两个键,
我们知道如果录入home则将光标定位到字符首,如果录入end则是将光标定位到字符尾。现
在让你输出这段坏了文本。 表示:home => '[' , end => ']'
举例:
input: hello[_Tom_]!
output: _Tom_hello!
解题思路:
数组中频繁移动元素是很低效的,如有可能,可以使用链表。 */
#include<bits/stdc++.h>
using namespace std;
const int maxn=+;
int last,cur,next[maxn];
char s[maxn];
int main()
{
while(scanf("%s",s+)==) {
int n=strlen(s+);
last=cur=;
next[] = ;
for(int i=; i<=n; i++) {
char ch=s[i];
if(ch=='[')cur=;
else if(ch==']')cur=last;
else {
next[i]=next[cur];
next[cur]=i;
if(cur==last)last=i;
cur=i;
}
}
for(int i=next[]; i!=; i=next[i])
printf("%c",s[i]);
printf("\n");
}
return ;
}
UVa 11988 Broken Keyboard(链表->数组实现)的更多相关文章
- UVA——11988 Broken Keyboard (a.k.a. Beiju Text)
11988 Broken Keyboard (a.k.a. Beiju Text)You’re typing a long text with a broken keyboard. Well it’s ...
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(链表)
题目代号:UVA 11988 题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&pa ...
- UVa 11988 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 problem wi ...
- UVa 11988 Broken Keyboard(数组模拟链表)
题目链接: https://cn.vjudge.net/problem/UVA-11988 /* 问题 将一段文本经过一定的规则处理后输出,规则就是[表示home键,表示光标跳到行首,]表示end键, ...
- Uva 11988 Broken Keyboard STL+链表
两种方法,直接上代码 STL标准模板库 #include <iostream> #include <list> #include <algorithm> #incl ...
- 链表 UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
题目传送门 题意:训练指南P244 分析:链表模拟,维护链表的head和tail指针 #include <bits/stdc++.h> using namespace std; const ...
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text) (链表,模拟)
使用list来模拟就行了,如果熟悉list,那么这道题真是分分钟秒掉... list是双向循环链表,插入和删除操作非常快,缺点是不能像数组一样随机按下标读取. 一下是wiki上说明的相关函数:http ...
- UVA 11988 Broken Keyboard (链表)
简单题,题目要求显然是很多次插入,所以是链表. 插入两个语句,nxt[i] = nxt[u] 表示 i结点指向u的后继, nxt[u] = i表示把u的后继设成i. 设置一个头结点,指向一个不存在的结 ...
- Uva 11988 Broken Keyboard
因为要经常移动这些字符,所以采用的数据结构是链表. next[i]起到的作用大概就是类似链表里的next指针. 0.需要注意的是,判断cur == last ? 如果 是 则 last=i 1.另外一 ...
随机推荐
- java中关于try、catch、finally中的细节分析
来源于:http://www.cnblogs.com/aigongsi/archive/2012/04/19/2457735.html 对所有的例子进行总结 1 try.catch.finally语句 ...
- 《Android性能优化》学习笔记链接<转载>
今天找到一博文汇总了 Android性能优化 比较好的文章 ,本计划全看完,自己再精简下,因篇幅太长,先收藏了,等有时间 再仔细拜读,总结自己的看法: 第一季: http://www.csdn.ne ...
- struts2 spring3.2 hibernate4.1 框架搭建 整合
ssh是企业开发中常遇到的框架组合,现将框架的搭建过程记录下来,以便以后查看.我的搭建过程是,首先struts,然后spring,最后hibernate.struts2的最新版本为2.3.8,我下载的 ...
- 【日常笔记】java文件下载返回数据流形式
@RequestMapping("/downloadFile") @ResponseBody public void download(String uploadPathUrl, ...
- Mac 下,配置SVN
Mac 环境下 sv 服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Tort ...
- spoj705 后缀数组求不同子串的个数
http://www.spoj.com/problems/SUBST1/en/ 题目链接 SUBST1 - New Distinct Substrings no tags Given a stri ...
- Mysql-linux下密码修改,忘记密码修改,超级管理用户修改
未忘记密码 方法一:在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123"Enter password: ...
- iOS的网络环境判断
网络环境的判断有两种方式 1.Reachability 2.AFNetWorking中 AFNetworkReachabilityManager Reachability步骤 (1)导入Reachab ...
- 【BZOJ-3343】教主的魔法 分块
3343: 教主的魔法 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 950 Solved: 414[Submit][Status][Discuss ...
- MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
[hxsyl@CentOSMaster hadoop-2.6.4]$ mahout MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpa ...