破损的键盘(又名:悲剧文本)
来源:互联网 发布:c罗健身 知乎 编辑:程序博客网 时间:2024/04/30 05:03
你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开。当你打开显示器之后,展现在你面前的是一段悲剧的文本。你的任务是在打开显示器之前计算出这段悲剧文本。
输入包含多组数据。每组数据占一行,包含不超过100000个字母、下划线、字符“[”或者“]”。其中字符“[”表示Home键,“]”表示End键。输入结束标志为文件结束符(EOF)。输入文件不超过5MB。对于每组数据,输出一行,即屏幕上的悲剧文本。
样例输入
This_is_a_[Beiju]_text [[]][][]Happy_Birthday_to_Tsinghua_University
样例输出
BeijuThis_is_a__text Happy_Birthday_to_Tsinghua_University
参考代码
#include<cstdio>#include<cstring>const int maxn=100000+5;int last,cur,next[maxn];char s[maxn];int main(){while(scanf("%s",s+1)==1){int n=strlen(s+1);last=cur=0;next[0]=0;for(int i=1;i<=n;i++){char ch=s[i];if(ch=='[')cur=0;else if(ch==']')cur=last;else {next[i]=next[cur];next[cur]=i;if(cur==last) last=i;cur=i;}}for(int i=next[0];i!=0;i=next[i])printf("%c",s[i]);printf("\n");}return 0;}
阅读全文
0 0
- 破损的键盘(又名:悲剧文本)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(破损的键盘(又名:悲剧的文本))(链表)
- 例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988)
- 链表-单向链表&&UVa 11988 Broken Keyboard(a.k.a.Beijiu Text)(破损的键盘(悲剧文本))的理解与解析
- uva 11988 破损的键盘(链表)
- 破损的键盘(uva 11988)
- codevs 4650 破损的键盘(链表)
- codevs 4650 破损的键盘(链表)
- codevs 4650 破损的键盘(stl)
- 破损的键盘(链表)
- UVa 11988破损的键盘
- 【codevs 4650】破损的键盘
- 破损的键盘,紫书P143UVa11988
- 【codevs 4650】破损的键盘
- UVA 11988 破损的键盘
- 破损的键盘(Broken KeyBoard)Uva 11988
- 例题6-4 破损的键盘 UVa11988
- 【codevs 4716】破损的键盘2
- Maven常遇见的错误
- 注册验证
- python常用模块整理
- 构造函数 约分
- Actor生命周期理解
- 破损的键盘(又名:悲剧文本)
- HDU 1260
- json简单使用方法
- CodeForces
- NYOJ 【116】 士兵杀敌二(线段树+模拟,+模板题(多加了一个更新功能))
- 高斯消元
- 总结PLSQL的快捷键以及使用技巧
- Java过滤器及其特性
- 给你一段英文或德文文字,统计文字中字母“t”(或“T”)与“s”(或“S”)出现的次数, 如果给定文字中“t”(或“T”)的出现次数比“s”多,则可能为英文,否则可能为德文