#P14945. [uoi2018]Text Editor文本编辑器
[uoi2018]Text Editor文本编辑器
题目描述
想象你进入了一家大型软件公司,成为了一款强大文本编辑器的开发者。当然,现代文本编辑器包含大量功能,但它们的开发可以拆分成许多独立的功能与库,每一部分都可以由一个开发团队甚至一名程序员完成。
文本按如下方式形成:用户每次向文本末尾或开头加入一个单词,并用一个空格与原有相邻单词隔开。文本编辑器窗口的一行最多容纳 个字符,空格也计入字符数。编辑器采用标准的换行逻辑:第一个无法放入上一行的单词会被移到下一行。如果两个相邻单词位于不同行中,则它们之间的空格消失。
任务
请实现一个辅助程序,实时计算用户输入的当前文本占用多少行。
输入格式
第一行包含两个正整数 ,均不超过 。 表示一行最多容纳的字符数, 表示操作总数。
每个操作有三种类型:
- 用户在文本末尾加入一个单词;
- 用户在文本开头加入一个单词;
- 询问当前文本占用的行数。
接下来 行,每行包含一个或两个整数:操作类型(),若为操作 或 ,还会给出用户输入单词的长度。该长度为正整数,且不超过 。
输入中的第一个操作只能是类型 或类型 ,两者都表示向空文本中加入第一个单词。保证输入中至少有一个类型 的操作。
输出格式
对每个类型 的操作,输出一行一个整数,表示该时刻文本占用的行数。
输入
10 9
1 6
1 3
3
2 1
3
3
1 5
1 1
3
输出
1
2
2
3
子任务
1.(8 分);
2.(8 分)所有输入单词长度之和不超过 ;
3.(7 分),且输入中没有类型 的操作;
4.(14 分)输入中没有类型 的操作;
5.(7 分),且输入中没有类型 的操作;
6.(16 分)输入中没有类型 的操作;
7.(7 分);
8.(33 分)无额外限制。