SSL2058 字符串编辑

Description

有n条规则,第i规则的原串和新串分别为Mi和Ni,则编辑按如下过程进行:开始编辑时,先使用第一条规则,把文章中出现的第一个M1替换成N1,如果替换后的新文章还存在M1,则如上处理,直到文章不存在M1为止;然后用同样的方法使用第2,第3,……,第n条规则进行替换,直到所有的规则都用完为止。
   每次都要从文章开头开始找要替换的词句 
   一条规则一旦使用完后,将不能再使用 
   每一篇文章都是可编辑的  

Sample Input

4
ban
bab
baba
be
ana
any
ba b
hind the g
banana boat

Sample Output

behind the goat

用pos寻找原串中M1的位置,存在即不为0.删除后插入N1,直到为0进入下一条规则。
var
  x:string;
  a,b:array[1..1000] of string;
  i,l,n:longint;
begin
  readln(n);
  for i:=1 to n do
    begin
      readln(a[i]);
      readln(b[i]);
    end;
  readln(x);
  for i:=1 to n do
    begin
      l:=pos(a[i],x);
      while l<>0 do
        begin
          delete(x,l,length(a[i]));
          insert(b[i],x,l);
          l:=pos(a[i],x);
        end;
    end;
  writeln(x);
end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值