题目描述:

题目思路:

1.使用链表来重新定位各个字符

2.用数组实现链表

3.开一个数组list[i]来存储字符数组下一个字符的位置

#include <iostream>
#include <cstring>
using namespace std; const int maxn = + ;
int last,cur,list[maxn] ;
char s[maxn] ;
int main(int argc, char *argv[])
{
while(scanf("%s",s+) == )
{
int len = strlen(s+);
last = cur = ;
list[] = ; //指示位置的链表 for(int i = ;i <= len ;i++)
{
char ch = s[i] ;
if(ch == '[') cur = ;
else if(ch == ']') cur = last ;
else{
list[i] = list[cur] ; //光标跳转,指示开头
list[cur] = i;
if(cur == last) last = i ;
cur = i ;
}
}
for(int i = list[]; i != ;i = list[i])
printf("%c",s[i]);
cout << endl ;
}
return ;
}

悲剧文本(Broken Keyboard (a.k.a. Beiju Text),UVA 11988)的更多相关文章

  1. 破损的键盘(悲剧文本)(Broken Keyboard(a.k.a. Beiju Text),Uva 11988)

    破损的键盘(悲剧文本)(Broken Keyboard(a.k.a. Beiju Text),Uva 11988) 题意描述 你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下. ...

  2. Broken Keyboard (a.k.a. Beiju Text) UVA - 11988

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

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

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

  4. B - Broken Keyboard (a.k.a. Beiju Text)

    Problem B Broken Keyboard (a.k.a. Beiju Text) You're typing a long text with a broken keyboard. Well ...

  5. uva - 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 i ...

  6. N - Broken Keyboard (a.k.a. Beiju Text)(DFS,链表)

    N - Broken Keyboard (a.k.a. Beiju Text) Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:% ...

  7. 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 ...

  8. 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 ...

  9. B - 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 ...

  10. 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 ...

随机推荐

  1. 清除IE8/IE9/IE10/IE11浏览器缓存文件 100%有效

    不管你是哪个版本的IE浏览器,按照下面指示操作,都能清除掉你使用浑身解数也清不掉的缓存文件! 第一步,打开IE浏览器——工具——Internet选项 有的IE浏览器的Internet选项藏在右上角一个 ...

  2. STM32之定时器输入捕获

    1.输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能.STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿 ...

  3. hadoop-2.2.0 HA配置

    采用的是4台真实机器: namenode:qzhong  node27 datanode:qzhong node27 node100 node101 操作系统环境:qzhong(Ubuntu-14.0 ...

  4. linux常用监测命令

    1 uptime uptime 命令可以用来查看服务器已经运行了多久,当前登录的用户有多少. 2 top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于W ...

  5. linux下的学习之路下的小困难

    centos下源码安装python3wget --no-check-certificate https://www.python.org/ftp/python/3.6.2/Python-3.6.2.t ...

  6. fake_useragent 封装好user-agent的模块

    from fake_useragent import UserAgent useragent = UserAgent()print(useragent.random)

  7. DMVPN的实验模拟与分析

    此篇博客正在介绍的是下图中的DMVPN: 为什么会出现DMVPN这个技术呢? 在这篇博客中https://www.cnblogs.com/huwentao/p/9355240.html介绍过Dynam ...

  8. 《CURL技术知识教程》系列分享专栏

    <CURL技术知识教程>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201737.html 文章 PHP采集相关教程之一 CUR ...

  9. linux 查看内置命令

    使用: man shell builtins 查找结果如下:

  10. 简单复习一下ArrayList的扩容原理

    刚刚跟几个好朋友喝完小酒回家,简单大概复习一下ArrayList的扩容原理,由于头有点小晕,就只大概说一下扩容的原理哈: 首先ArrayList实现了List接口,继承了AbstractList,大家 ...