比赛 HAOI2009 模拟试题2 评测结果 WWWWWWWTTT
题目名称 可可的文本编辑器 最终得分 0
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2009-04-22 10:14:05
显示代码纯文本
{
 haoi2009 moni2 t2
 string
 time:2009.4.21
}
program cch(input,output);
var
 p,l,i,j,n,x,code:longint;
 s,s1:string;
 data:array[0..2100000] of char;

procedure swap(var x,y:char);
var
 tmp:char;
begin
 tmp:=x; x:=y; y:=tmp;
end;

begin
 assign(input,'editor.in');
 assign(output,'editor.out');
 reset(input);
 rewrite(output);
 readln(n);
 p:=0; l:=0;
 for i:=1 to n do
  begin
   readln(s);
   s:=s+' ';
   s1:=copy(s,1,pos(' ',s)-1);
   delete(s,1,pos(' ',s));
   case s1[1] of
    'M':begin
         delete(s,length(s),1); val(s,x,code);
         p:=x;
        end;
    'I':begin
         delete(s,length(s),1); val(s,x,code);
         readln(s);
         for j:=p+x+1 to l+x do
          data[j]:=data[j-x];
         for j:=p+1 to p+x do
          data[j]:=s[j-p];
         inc(l,x);
        end;
    'D':begin
         delete(s,length(s),1); val(s,x,code);
         for j:=p+1 to l-x do
          data[j]:=data[j+x];
         dec(l,x);
        end;
    'R':begin
         delete(s,length(s),1); val(s,x,code);
         for j:=1 to (x div 2) do
          swap(data[p+j],data[p+x-j+1]);
        end;
    'G':writeln(data[p+1]);
    'P':dec(p);
    'N':inc(p);
   end;
 end;
 close(input);
 close(output);
end.