ac1086.pas

来自「同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料」· PAS 代码 · 共 28 行

PAS
28
字号
program tju1086;
const
  maxl=2000;
var
  a,b:array[1..maxl]of char;
  dist:array[boolean,0..maxl]of longint;
  la,lb,i,j,k:word;
function min(a,b:longint):longint;
  begin
    if a<b then min:=a else min:=b;
  end;
begin
  repeat
    la:=0;repeat inc(la);read(a[la]);until seekeoln;readln;
    lb:=0;repeat inc(lb);read(b[lb]);until seekeoln;readln;
    readln(k);
    for i:=0 to lb do
      dist[false,i]:=i*k;
    for i:=1 to la do begin
      dist[odd(i),0]:=i*k;
      for j:=1 to lb do
        dist[odd(i),j]:=min(dist[not odd(i),j-1]+abs(ord(a[i])-ord(b[j])),
                            min(dist[odd(i),j-1],dist[not odd(i),j])+k);
    end;
    writeln(dist[odd(la),lb]);
  until seekeof;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?