COJ 1064行编辑距离:STL栈的简单应用
来源:互联网 发布:安卓沙箱软件 编辑:程序博客网 时间:2024/06/11 13:00
【数据结构】行编辑程序
Time Limit: 1000 ms Memory Limit: 65536 KBTotal Submit: 22 Accepted: 14
Description
对若干行字符进行编辑处理,并实现以下功能:
当出现‘#’时,当作退格符处理(即删除前一个字符,#不保留)。
当出现‘@’时,清除本行中'@'前的所有字符(@本身不保留)。
当出现‘#’时,当作退格符处理(即删除前一个字符,#不保留)。
当出现‘@’时,清除本行中'@'前的所有字符(@本身不保留)。
Input
有若干行字符,行数不超过200.
(不存在单行只有#或@的字符串)
(不存在单行只有#或@的字符串)
Output
输出的是处理过后的字符。
行数和输入一样。
行数和输入一样。
Sample Input
whli##ile(ch=#!=eof###EOF)
{
PRINT@printf("\n");
}
{
PRINT@printf("\n");
}
Sample Output
while(ch!=EOF)
{
printf("\n");
}
{
printf("\n");
}
Hint
使用栈实现
<stack>
<stack>
水题,栈的简单应用,想的是在STL方面运用得如流水一般,所以练练这些STL水题
#include<iostream>#include<stack>#include<cstdio>#include<cstring>using namespace std;int main(){ stack<char>q; char c,s[105],z[105]; int i,l; while(scanf("%s",z)!=EOF) { l=strlen(z); for(i=0;i<l;i++) { if(z[i]=='#') q.pop(); else if(z[i]=='@') { while(!q.empty()) q.pop(); } else q.push(z[i]); } i=0; while(!q.empty()) { s[i++]=q.top(); q.pop(); } for(int j=i-1;j>=0;j--) cout<<s[j]; cout<<endl; } return 0;}
- COJ 1064行编辑距离:STL栈的简单应用
- COJ 1065括号匹配:栈的简单应用
- COJ 1239集合set的简单应用
- STL的简单应用
- STL库之栈的简单应用
- 字符串的编辑距离
- 字符串的编辑距离
- 字符串的编辑距离
- 句子的编辑距离
- 字符串的编辑距离
- 字符串的编辑距离
- 字符串的编辑距离
- c++的STL中栈和队列的简单应用
- 栈的简单应用(数制转换、括号匹配检验、行编辑、迷宫求解)
- 数据结构-C语言 栈的简单应用——行编辑程序
- 栈的应用之行编辑程序
- 栈的应用之-----行编辑程序
- 栈的应用之行编辑程序
- 推特拟在消息中添加链接 用户无权拒绝
- linux用户管理2
- MDI子窗体如何显示在picture控件的前面
- 判断一个单链表中是否有环
- 2013 ACM/ICPC Asia Regional Changchun Online Problem J & hdu4768 Flyer(二分)
- COJ 1064行编辑距离:STL栈的简单应用
- java.lang.VerifyError: Expecting a stackmap frame at branch target 12 in method
- linux内核-内存寻址
- HDOJ 4762 - Cut the Cake 推公式.高精度
- 手机通过笔记本上网
- Linux常用命令
- LeetCode: Median of Two Sorted Arrays
- Eclipse Android SDK无法下载问题不翻墙解决办法
- java笔试题---程序产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。