文本编辑器
题目描述
你要实现的这个文本编辑器拥有一个光标(cursor), 能够插入和删除文本. 该编辑器的完整功能列表如下:
功能名称 | 命令格式 | 说明 |
---|---|---|
光标左移 | < |
如果已处于最左端, 则输出 F ; 否则在执行之后输出 T |
光标右移 | > |
如果已处于最右端, 则输出 F ; 否则在执行之后输出T |
在光标的右侧插入字符 c , 之后光标右移至 c 右侧 |
I c |
c 是可见字符(33 <= ascii 码 <= 126), 在执行之后输出 T |
在光标的左侧删除字符 | D |
如果已处于最左端, 则输出 F ; 否则在执行之后输出 T |
显示文本 | S |
只输出文本当前的内容, 不输出T 或 F ; 如果文本为空, 只输出换行符即可 |
开始时文本编辑器中有一定内容, 光标在最后一个字符右侧.
输入格式
第一行列出初始时文本编辑器的内容.
第二行是一个正整数 N
, 即编辑操作的次数.
接下来的 N
行, 各有一个格式如上的编辑命令.
输出格式
对于每个命令, 按上方表格要求执行并输出.
样例
样例输入
PKU
10
>
<
D
D
D
<
I T
I H
>
S
样例输出
F
T
T
T
F
F
T
T
T
THU
样例解释
以下解释中使用 [
表示光标:
样例输入 | 样例输出 | 当前状态 |
---|---|---|
PKU |
PKU[ |
|
10 |
PKU[ |
|
> |
F |
PKU[ |
< |
T |
PK[U |
D |
T |
P[U |
D |
T |
[U |
D |
F |
[U |
< |
F |
[U |
I T |
T |
T[U |
I H |
T |
TH[U |
> |
T |
THU[ |
S |
THU |
THU[ |
说明
初始字符, 插入字符是可见字符 (
33 <= ascii码 <= 126
);1 <= 初始文本长度 <= 1000
;1 <= N <= 1000000
;可以使用列表完成题目