PersonalCorpus 版 (精华区)

219649 12:30:27 1 Aug 2002
Bozhang,HIT,P.R.China 1119 Pascal Accepted 0.951 sec 73K

const b=141.42135623730950488016887242097;
var
    n,m,i,j,k:integer;
    p:array[1..100,1..2] of integer;
    dl,pre:array[0..1000] of extended;

function found(d,e:integer):boolean;
var i:integer;
begin
    result:=false;
    for i:=1 to k do if (p[i,1]=d) and (p[i,2]=e) then begin
        result:=true;
        exit;
    end;
end;
begin
    readln(n,m);
    readln(k);
    for i:=1 to k do readln(p[i,1],p[i,2]);

    pre[0]:=0;
    for i:=1 to n do pre[i]:=pre[i-1]+100;
    for i:=1 to m do begin
        dl[0]:=pre[0]+100;
        for j:=1 to n do begin
            if dl[j-1]>pre[j] then dl[j]:=pre[j]+100 else dl[j]:
=dl[j-1]+100;
            if found(j,i) then if dl[j]>pre[j-1]+b then dl[j]:
=pre[j-1]+b;
        end;
        for j:=0 to n do pre[j]:=dl[j];
    end;
    writeln(dl[n]:0:0);
end.
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.989毫秒