uva 11988 Broken Keyboard (a.k.a. Beiju Text) 模拟链表
来源:互联网 发布:知豆电动汽车租赁价格 编辑:程序博客网 时间:2024/05/17 01:29
题意
在一个没有显示器的电脑上输入一个字符串,键盘坏掉了,会随机的出现home,和end按键,
字符串中'['代表home键(句首),']'代表end键(句尾),问最后输出的字符串的格式。
题解
用一个数组nxt[]来保存每个字符接下来的编号,假设字符串s前还有一个虚拟的s[0],则字符串的最左边就可以表示为nxt[0],注意不要使用next来作为数组的名字,否则会编译错误。
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <cmath>#include <set>#include <map>using namespace std;const int maxn=100005;char s[maxn];int nxt[maxn];int main(){ while(scanf("%s",s+1)==1) { memset(nxt,0,sizeof(nxt)); int last,cur; last=cur=0;//last记录字符串的尾部 int n=strlen(s+1); for(int i=1;i<=n;i++) { if(s[i]=='[') cur=0; else if(s[i]==']') cur=last;//光标移动到末尾 else { nxt[i]=nxt[cur];//新插入的字符的下一个节点是当前节点的下一个 nxt[cur]=i;//当前节点的下一个就是新插入的字符 if(cur==last) last=i; cur=i;//更新光标 } } for(int i=nxt[0];i!=0;i=nxt[i]) { printf("%c",s[i]); } printf("\n"); } return 0;}
0 0
- UVa 11988 Broken Keyboard (a.k.a. Beiju Text) (模拟链表)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)【数组模拟链表】
- UVa 11988 Broken Keyboard (a.k.a. Beiju Text) 数组模拟单向链表
- uva 11988 Broken Keyboard (a.k.a. Beiju Text) 模拟链表
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(数组模拟链表)
- Uva-11988-Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa:11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text) 题解
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- Broken Keyboard (a.k.a. Beiju Text) UVA, 11988(链表)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- git命令使用
- 键盘事件和鼠标事件【js】
- 链表 堆栈 队列
- OpenSceneGraph实现的NeHe OpenGL教程 - 第三十三课
- DP专题:HDU_2955-Robberies
- uva 11988 Broken Keyboard (a.k.a. Beiju Text) 模拟链表
- ReactiveCocoa 最全常用API整理(可做为手册查询)
- logback 配置详解(一)<configuration> and <logger>
- Linux查看系统信息命令和方法
- ASP.NET MVC 如何解决“上下文的模型已在数据库创建后发生更改”问题
- Activity介绍
- 安装lnmp1.3版流程
- Android创建浮动的上下文菜单,实现微信通讯录列表长按弹出菜单项功能
- OpenSceneGraph实现的NeHe OpenGL教程 - 第三十四课