E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
UVa11988
指针和链表
1、
UVA11988
破损的键盘题意翻译你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。你却不知道此问题,而是专心致志地打稿子,甚至显示器都没开。
流年llyz
·
2023-09-19 00:22
数据结构
数据结构
ICPC训练联盟2021寒假冬令营(6)_2021.01.25_笔记
STL容器实验序列式容器关联式容器集合容器A-TheBlocksProblem(POJ1208,UVA101)中文释义解题分析解题代码B-BrokenKeyboard(a.k.a.BeijuText)(
UVA11988
SDWU_JS
·
2021-01-25 16:05
学习笔记
算法
数据结构
c++
stl
字符串
UVA11988
Broken Keyboard 链表
题目描述:你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。给你一段按键的文本,其中'['表示Home键,']'表示End键,输出这段悲剧的文本。解题思路用顺序结构储存会超时所以用模拟链表来储存cur表示光标的位置last表示当前最后一个字符的编号next[i]表示s[i]后面的字符的编号为了方便起见在数组的最前面虚拟一个s[0]。代码如下#include#include#
Bill_Utada
·
2020-08-17 11:12
算法与数据结构/ACM
UVa11988
UVa11988
你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开。
超级歪
·
2020-08-14 02:58
算法练习
UVa11988
我果然是太菜,当初学指针形式的链表看p->next->next理解了2天,现在看用数组实现的也看了2天才明白。本来以为c语言那里学的还不错,现在我都想对自己呵呵了。看了无数人的解释,最终还是看这位大佬的才明白。http://www.cnblogs.com/GeniusYang/p/5176454.html其实整个代码核心就2句在插入字符那里next[i]=next[cur];next[cur]=i
ecjtu_j_yan
·
2020-08-13 14:52
数据结构
例题6-4 破损的键盘
UVa11988
1.题目描述:点击打开链接2.解题思路:本题利用链表解决。每输入一个字符,就把它存起来,设输入字符串是s[1...n],则可以用Next[i]表示在当前显示屏中s[i]右边的字符编号。为了便于后续处理,假设s的最前面还有一个虚拟的s[0](这是链表的常用处理方式,请务必牢记),那么Next[0]就表示显示屏中最左边的字符,再用一个变量cur表示光标位置:即当前光标位于s[cur]的右边(即我们的D
XDU_Skyline
·
2020-07-05 18:27
算法竞赛入门经典(第二版)
数据结构——链表
UVA11988
破损的键盘(悲剧文本)
1.射了虚拟结点,从s+1开始输入,字符串长度也从s+1开始计算2.next[i]=next[cur]大致是把下一个字符的位置设为0next[cur]=i是将cur与i连接起来,相当于在cur后插入i,即cur->i3.遇到'['时,令cur=0,即在0后插入元素遇到']'时,令cur=last,即在最后一个元素后继续插入元素4.last始终表示已插入的最后一个元素#include#include
沐妖
·
2020-07-05 11:29
紫书刷题
UVa11988
:破损的键盘(悲剧文本)【Java】
题目:你有一个破损的键盘。键盘上所有的键都可以正常工作,但有时候Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心打稿子,甚至连显示器都没打开。当你打开显示器后,展现在你面前的是一段悲剧文本。你的任务是在打开显示器之前计算出这段悲剧文本。输入包含多组数据。每组数据占一行,包含不超过100000个字母、下划线、字符“[”或者“]”。其中字符“[”表示Home键,“]”表示End键
风云学子
·
2020-07-05 07:53
算法刷题
UVA11988
(破损键盘) 使用数组模拟链表插入
该题很好地训练了怎么使用数组来模拟链表 破损的键盘(又名:悲剧文本)(BrokenKeyboard(a.k.a.BeijuText),
UVa11988
)你有一个破损的键盘。
Gy_Hui-HUST
·
2020-07-04 16:18
C/C++
数据结构
刷题
uva11988
broken keyboard (悲剧文本)
你有一个破损的键盘,所有键都能正常工作,但是home和end键有时会自动按下,你并不知道这一问题的存在,专心打稿子,甚至屏幕都没有开,当你打开屏幕时,屏幕上是悲剧文本,你的任务是计算出这段悲剧文本。样例输入This_is_a_[Beiju]_text[[]][][]Happy_Birthday_to_Tsinghua_University样例输出BeijuThis_is_a__textHappy_
chen_minghui
·
2020-07-04 13:53
——数据结构——
字符串处理
漫画算法:破损键盘问题
破损的键盘(又名:悲剧文本)(BrokenKeyboard(a.k.a.BeijuText),
UVa11988
)你有一个破损的键盘。
调侃熊
·
2019-12-02 07:24
Beiju Text)(
Uva11988
)
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=18693解法:用链表实现,对于数组实现链表数组的下标就是当前地址,他的值就是他所指向的地址,所以对于链表的操作为:next[i]=next[st];next[st]=i;AC代码:#include#include#include#include#include#
longshanxiaoxuesheng
·
2016-03-18 16:00
uva11988
数组模拟单向链表
1)#include #include usingnamespacestd; constintmaxn=100000+5; intnext[maxn]; intcur,last; //next[0]=0; //intcur=0; //intlast=0; chars[maxn]; intmain() { while(scanf("%s",s+1)==1){ intlen=strlen(s+1);
a272846945
·
2016-02-12 20:00
ACM
STL
uva
数组模拟单向链表例题(
UVa11988
)
指针的链表实现方式是,当前节点的next指向下一个节点,用数组模拟就是for(inti=next[0];i!=0;i=next[i])i=next[i];就是一条链。例题:你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心打稿子,甚至连显示器都没打开。当你打开显示器时之后,展现在你面前的是一段悲剧文本。你的任务时在打开显示
GeniusYang
·
2016-02-01 22:00
uva11988
Broken Keyboard (a.k.a. Beiju Text)
题意:一串字符串,遇到‘[’相当于按了Home键,光标到最前面,遇到']',相当于按了End键,光标到了最后面。思路:用next数组模拟链表,表示当前这个位置i的下一个位置next[i]初始化next[0]=0;通常这样模拟链表会把第一个点next[0]空出来,作为空的头结点。(注意这一点很重要)#include #include #include #include #include #inclu
yexiaohhjk
·
2016-01-14 15:00
UVA11988
:Broken Keyboard (a.k.a. Beiju Text)
You’retypingalongtextwithabrokenkeyboard.Wellit’snotsobadlybroken.Theonlyproblemwiththekeyboardisthatsometimesthe“home”keyorthe“end”keygetsautomaticallypressed(internally).You’renotawareofthisissue,si
libin56842
·
2015-06-15 09:00
uva
UVA11988
Broken KeyBoard
链表的思想很简单,要做到活用也不难。一般我是这样做得,从实际问题出发,先高度的概括符不符合链表的特点。能不能用链表简单解决。接着,就是编码。 链表编码要理清细节性思路,最好是简单的画下图,正如改题的链表,本质上是循环链表。last指向最后一个节点。其next指针一定指向头节点。我们把s[0]当做头节点。 1 2 #include
·
2015-06-04 23:00
keyboard
UVA11988
Broken Keyboard (a.k.a. Beiju Text)
看到大一练习题,睡前水一水~~~ProblemBBrokenKeyboard(a.k.a.BeijuText)You'retypingalongtextwithabrokenkeyboard.Wellit'snotsobadlybroken.Theonlyproblemwiththekeyboardisthatsometimesthe"home"keyorthe"end"keygetsautoma
wust_ZJX
·
2015-04-13 23:00
UVA11988
Broken KeyBoard
UVA11988BrokenKeyBoard链表的思想很简单,要做到活用也不难。一般我是这样做得,从实际问题出发,先高度的概括符不符合链表的特点。能不能用链表简单解决。接着,就是编码。链表编码要理清细节性思路,最好是简单的画下图,正如改题的链表,本质上是循环链表。last指向最后一个节点。其next指针一定指向头节点。我们把s[0]当做头节点。 1 2 #include 3 #include
f(sixleaves) = sixleaves
·
2015-04-12 00:00
例题6-4 破损的键盘
UVa11988
1.题目描述:点击打开链接2.解题思路:本题利用链表解决。每输入一个字符,就把它存起来,设输入字符串是s[1...n],则可以用Next[i]表示在当前显示屏中s[i]右边的字符编号。为了便于后续处理,假设s的最前面还有一个虚拟的s[0](这是链表的常用处理方式,请务必牢记),那么Next[0]就表示显示屏中最左边的字符,再用一个变量cur表示光标位置:即当前光标位于s[cur]的右边(即我们的D
u014800748
·
2015-03-29 19:00
链表
uva11988
- Broken Keyboard (a.k.a. Beiju Text) 入门经典II 第六章数据结构基础 例题6-4
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=229&page=show_problem&problem=3139SampleInputThis_is_a_[Beiju]_text [[]][][]Happy_Birthday_to_Tsinghua_University Out
f1024042400
·
2015-01-19 21:00
***
UVa11988
Broken Keyboard ACM解题报告(链表)
这题用数组移动会超时,所以解决方案是采用链表,每输入一个字符就把它存起来,设输入字符串是s[1~n],就可以用next[i]表示在当前显示屏中s[i]右边的字符编号,本渣渣链表题刚接触,这题基本是参考书上代码后解决,也算是弄懂了,作此记录。#include #include #include usingnamespacestd; chars[100005]; intnext[100005];//n
Miracle_ma
·
2014-12-27 14:00
ACM
uva
uva11988
此处采用的是链表的思想,具体实现过程任然需要注意,知识是死的,而自己的思想是活的,加油,自己#include #include #include usingnamespacestd; #definemaxn100005 intcur,last,next[maxn]; chars[maxn]; intmain() { while(~scanf("%s",s+1)) { intn=strlen(s
DoJintian
·
2014-12-18 22:00
UVA11988
Broken Keyboard (a.k.a. Beiju Text)【数组模拟链表】
BrokenKeyboard(a.k.a.BeijuText)You'retypingalongtextwithabrokenkeyboard.Wellit'snotsobadlybroken.Theonlyproblemwiththekeyboardisthatsometimesthe"home"keyorthe"end"keygetsautomaticallypressed(internall
u011676797
·
2014-12-09 21:00
UVa11988
Broken Keyboard (a.k.a. Beiju Text)
题意:你在输入文本,插入点会不时跳到最前面或最后面,输出实际得到的文本。 思路:实际上这题涉及到了在字符串任何位置插入字符,所以用链表模拟。真是菜,模拟个链表还要调试半天。。不过做题用的链表和通常的不太一样,没有使用指针(当然用指针也是可以的),写的时候,一定要搞清楚三个位置,链表头,插入点,链表尾。#include #include #include #include #inclu
squee_spoon
·
2014-09-01 20:00
链表
uva
uva11988
- Broken Keyboard (a.k.a. Beiju Text) 模拟 链表
ProblemBBrokenKeyboard(a.k.a.BeijuText)You'retypingalongtextwithabrokenkeyboard.Wellit'snotsobadlybroken.Theonlyproblemwiththekeyboardisthatsometimesthe"home"keyorthe"end"keygetsautomaticallypressed(i
corncsd
·
2014-02-26 19:00
uva 11988 Broken Keyboard (a.k.a. Beiju Text)
点击打开链接
uva11988
思路:deque模拟分析:1题目给定一个字符串要求通过一序列的模拟输出最后的字符串2根据题目的意思[],分别表示的是键盘上的home和end键,home键的作用是跳到起始位置
cgl1079743846
·
2013-07-26 12:00
uva11988
此题可以用数组模拟,因为只要判断是在头还是在尾就好了。用数组记录[和]的位置,然后先输出头的在输出中间的,在输出后面的就可以了。但是用自己写的list快些毕竟不用搜位置。但是用自带的list貌似不好实现,因为在头的时候要在头的地方插入,好像用insert可以但是就麻烦了。用数组写是最方便的100多ms就可以了
luyuncheng
·
2013-02-18 20:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他