1005练习题

要求
  • 必须使用文件读写,如下图所示。"string.in"和"string.out"为第一题的示例
  • 结束前把最终版本的源程序通过classin私聊发送给我。T1的文件名应为"string.cpp"
  • 出现文件名错误,文件读写错误,编译错误,测试代码未注释等情况,均为0分

在这里插入图片描述

 
 
 

T1 字符串操作(string)
题目描述

请实现一个支持在任意位置插入和删除字符的文本编辑器。开始时,编辑器的文本是空的,给定 n n n 条修改操作,请模拟编辑器在这些操作下的行为,最后输出编辑器所记录的文本内容:

插入操作:该操作还需要提供一个数字 k k k 与一个字符 c h ch ch 作为参数,编辑器将在文本的前 k k k 个字符之后插入 c h ch ch。特别地,若 k = 0 k=0 k=0,则编辑器将会在文本的首位插入 c h ch ch
删除操作:该操作还需要提供一个数字 k k k,编辑器删除文本的第 k k k 个字符;

输入格式

从文件 string.in 中读入数据
第一行:单个整数 n n n
第二行到第 n + 1 n+1 n+1 行:每行表示一个操作:

插入操作以字母 i i i 开头,后接一个自然数 k k k 与一个字母 c h ch ch,保证 c h ch ch 是一个大写的英文字母, k k k 不超过当前文本的长度;
删除操作以字母 d d d 开头,后接一个正整数 k k k,保证 k k k 不超过当前文本的长度。

输出格式

输出到文件 string.out 中
单个字符串:表示编辑器最后所记录的文本内容。

数据范围

对于 30% 的数据, 1 ≤ n ≤ 500 1\leq n\leq 500 1n500
对于 60% 的数据, 1 ≤ n ≤ 50000 1\leq n\leq 50000 1n50000
对于 100% 的数据, 1 ≤ n ≤ 500000 1\leq n\leq 500000 1n500000

样例数据
输入:

5
i 0 A
i 1 B
i 2 C
d 2
d 1

输出:

C

说明:

前三步构造出了 A B C ABC ABC,第四步删除了 B B B,第五步删除了 A A A

 
 
 

T2 数数(count)
题目描述

给定一个长度为 n n n 的数列 a 1 , a 2 , ⋯   , a n a_1, a_2, \cdots, a_{n} a1,a2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值