要求
- 必须使用文件读写,如下图所示。"string.in"和"string.out"为第一题的示例
- 结束前把最终版本的源程序通过classin私聊发送给我。T1的文件名应为"string.cpp"
- 出现文件名错误,文件读写错误,编译错误,测试代码未注释等情况,均为0分
T1 字符串操作(string)
题目描述
请实现一个支持在任意位置插入和删除字符的文本编辑器。开始时,编辑器的文本是空的,给定 nnn 条修改操作,请模拟编辑器在这些操作下的行为,最后输出编辑器所记录的文本内容:
插入操作:该操作还需要提供一个数字 kkk 与一个字符 chchch 作为参数,编辑器将在文本的前 kkk 个字符之后插入 chchch。特别地,若 k=0k=0k=0,则编辑器将会在文本的首位插入 chchch;
删除操作:该操作还需要提供一个数字 kkk,编辑器删除文本的第 kkk 个字符;
输入格式
从文件 string.in 中读入数据
第一行:单个整数 nnn;
第二行到第 n+1n+1n+1 行:每行表示一个操作:
插入操作以字母 iii 开头,后接一个自然数 kkk 与一个字母 chchch,保证 chchch 是一个大写的英文字母,kkk 不超过当前文本的长度;
删除操作以字母 ddd 开头,后接一个正整数 kkk,保证 kkk 不超过当前文本的长度。
输出格式
输出到文件 string.out 中
单个字符串:表示编辑器最后所记录的文本内容。
数据范围
对于 30% 的数据,1≤n≤5001\leq n\leq 5001≤n≤500;
对于 60% 的数据,1≤n≤500001\leq n\leq 500001≤n≤50000;
对于 100% 的数据,1≤n≤5000001\leq n\leq 5000001≤n≤500000。
样例数据
输入:
5
i 0 A
i 1 B
i 2 C
d 2
d 1
输出:
C
说明:
前三步构造出了ABCABCABC,第四步删除了BBB,第五步删除了AAA
T2 数数(count)
题目描述
给定一个长度为 nnn 的数列 a1,a2,⋯ ,ana_1, a_2, \cdots, a_{n}a1,a2,⋯,a