1 条题解

  • 0
    @ 2025-4-12 21:43:13

    Pascal :

    var n,m,i,j,head:longint;
        str1,str2:ansistring;
     
    procedure qsort(l,r:longint);
    var i,j:longint;
        t,mid:char;
    begin
      i:=l; j:=r; mid:=str2[(i+j) div 2];
      repeat
        while str2[i]>mid do inc(i);
        while str2[j]<mid do dec(j);
        if i<=j then
        begin
          t:=str2[i]; str2[i]:=str2[j]; str2[j]:=t;
          inc(i); dec(j);
        end;
      until i>j;
      if l<j then qsort(l,j);
      if i<r then qsort(i,r);
    end;
     
    begin
      readln(n,m);
      readln(str1);
      readln(str2);
      qsort(1,m);
      head:=1;
      for i:=1 to n do
      begin
        if (str2[head]>str1[i]) and (head<=m) then
        begin
          str1[i]:=str2[head];
          inc(head);
        end;
      end;
      writeln(str1);
    end.
    
    • 1

    信息

    ID
    1252
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者