zoukankan      html  css  js  c++  java
  • COJ 0017 20604悲剧文本

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=17

    20604悲剧文本
    难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
    试题描述

        你有一个键盘,键盘上所有的键都能正常使用,只是Home键和End键有时会自动按下。你并不知道这一情况,而是专心地打稿子,甚至连显示器都没开电源。当你打开显示器之后,展现在你面前的是一段悲剧文本。你的任务是根据给出的键盘上实际输入的内容,计算并输出这段悲剧文本(即显示器上展现的文本)。

    输入
    一行文本不超过1000000个字符,只包括字母、下划线、字符'['(表示Home键)和字符']'(表示End键盘)。
    输出
    一个字符串,即符合题目描述的悲剧文本。
    输入示例
    This_is_a_[Beijing]_text
    输出示例
    BeijingThis_is_a__text
    其他说明
    如果你还不知道键盘上Home键和End键干什么用的,请你百度一下。

    蒟蒻链表,但很容易写错的。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 const int maxn=1000000+10;
     8 int fch,end,now,next[maxn],ms=0,v[maxn];
     9 inline int read(){
    10     int x=0,sig=1;char ch=getchar();
    11     while(!isdigit(ch)){if(ch=='-') sig=-1;ch=getchar();}
    12     while(isdigit(ch)) x=10*x+ch-'0',ch=getchar();
    13     return x*=sig;
    14 }
    15 inline void write(int x){
    16     if(x==0){putchar('0');return;} if(x<0) putchar('-'),x=-x;
    17     int len=0,buf[15]; while(x) buf[len++]=x%10,x/=10;
    18     for(int i=len-1;i>=0;i--) putchar(buf[i]+'0');return;
    19 }
    20 void init(){
    21     return;
    22 }
    23 void work(){
    24     fch=0;now=0;end=0;next[fch]=-1;
    25     char ch=getchar();
    26     while(1){
    27         if(ch=='[') now=fch;
    28         else if(ch==']') now=end;
    29         else if(isalpha(ch)||ch=='_'){
    30             next[++ms]=next[now];
    31             next[now]=ms;
    32             v[ms]=ch;
    33             now=ms;
    34             if(next[now]==-1) end=ms;
    35         }
    36         else break;
    37         ch=getchar();
    38     }
    39     return;
    40 }
    41 void print(){
    42     for(int i=next[fch];i!=-1;i=next[i]) putchar(v[i]);
    43     return;
    44 }
    45 int main(){
    46     init();work();print();return 0;
    47 }
  • 相关阅读:
    HYSBZ 3813 奇数国
    HYSBZ 4419 发微博
    HYSBZ 1079 着色方案
    HYSBZ 3506 排序机械臂
    HYSBZ 3224 Tyvj 1728 普通平衡树
    Unity 3D,地形属性
    nginx 的naginx 种包含include关键字
    Redis 出现NOAUTH Authentication required解决方案
    mysql 8.0出现 Public Key Retrieval is not allowed
    修改jar包里的源码时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/chxer/p/4456872.html
Copyright © 2011-2022 走看看