记录编号 578324 评测结果 AAAAAAAAAA
题目名称 [NOI 2003]文本编辑器 最终得分 100
用户昵称 Gravatarムラサメ 是否通过 通过
代码语言 C++ 运行时间 0.342 s
提交时间 2023-03-07 15:06:49 内存使用 6.99 MiB
显示代码纯文本
#include<cstdio>
#include<ext/rope>
using namespace std;
using namespace __gnu_cxx;
crope a;
char str[3*1024*1024];
int flag,n;
void ins(){
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		while(str[i]=getchar(),str[i]<32||str[i]>126);
	}
	str[n]='\0';
	a.insert(flag,str);
}
void ge(){
	scanf("%d",&n);
	a.copy(flag,n,str);
	str[n]='\0';
	puts(str);
}
int main(){
	freopen("editor2003.in","r",stdin);
	freopen("editor2003.out","w",stdout);
	int t;
	char s[20];
	scanf("%d",&t);
	for(int i=1;i<=t;i++){
		scanf("%s",&s);
		if(s[0]=='M'){
			scanf("%d",&flag);
		}
		else{
			if(s[0]=='I'){
				ins();
			}
			else{
				if(s[0]=='D'){
					scanf("%d",&n);
					a.erase(flag,n);
				}
				else{
					if(s[0]=='G'){
						ge();
					}
					else{
						if(s[0]=='P'){
							flag--;
						}
						else{
							flag++;
						}
					}
				}
			}
		}
	}
	return 0;
}