bzoj1507: [NOI2003]Editor
2017-05-03 13:33
369 查看
传送门
这题是bzoj1269的弱化版。
题解见bzoj1269: [AHOI2006]文本编辑器editor
这题是bzoj1269的弱化版。
题解见bzoj1269: [AHOI2006]文本编辑器editor
#include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #include<ext/rope> using namespace std; using namespace __gnu_cxx; int n,now,len,x,tmp; char s[2000005]; rope <char> a; inline int read(){ int x=0; char ch=getchar(); for (;ch<'0'||ch>'9';ch=getchar()); for (;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-48; return x; } int main(){ n=read(); while (n--){ scanf("%s",s); if (s[0]=='M') now=read(); else if (s[0]=='P') now--; else if (s[0]=='N') now++; else if (s[0]=='G'){ scanf("%d",&tmp); for (int i=now;i<now+tmp;i++) printf("%c",a[i]); printf("\n"); } else if (s[0]=='I'){ x=read(); len=a.length(); for (int i=0;i<x;i++){ s[i]=getchar(); while (s[i]=='\n') s[i]=getchar(); } s[x]=0; a.insert(now,s); } else if (s[0]=='D'){ x=read(); len=a.length(); a.erase(now,x); } } }
相关文章推荐
- BZOJ1507 [NOI2003]Editor 【splay】
- [BZOJ1507][NOI2003]Editor
- bzoj 1507: [NOI2003]Editor (块状链表)
- bzoj 1507: [NOI2003]Editor
- 【splay】BZOJ 1507:[NOI2003]Editor
- 【bzoj1507】[NOI2003]Editor
- 【BZOJ1507】[NOI2003]Editor Splay
- BZOJ 1507 [NOI2003]Editor
- [BZOJ1507][NOI2003]Editor(块状链表)
- bzoj1507 [NOI2003]Editor
- 【BZOJ】1507: [NOI2003]Editor(Splay)
- bzoj1507 [NOI2003]Editor(块状链表)
- BZOJ 1507([NOI2003]Editor-块状链表)
- BZOJ 1507: [NOI2003]Editor rope
- [题解]bzoj1507(NOI2003)Editor
- 【bzoj1507】[NOI2003]Editor /【bzoj1269】[AHOI2006]文本编辑器editor Splay
- 【BZOJ 1507】[NOI2003]Editor
- BZOJ 1507 [NOI2003]Editor
- BZOJ1507 [NOI2003]Editor
- BZOJ1507 [NOI2003]Editor 【splay】