⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1203.dpr

📁 高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程
💻 DPR
字号:
program p1203;

{$APPTYPE CONSOLE}

var
        x,y     :array[1..100]of real;
        dis     :array[1..100,1..100]of real;
        team    :array[1..100]of boolean;
        n       :integer;
        i       :Integer;
        step    :Integer;
        ans     :real;


        
PROCEDURE makedis;
var
        i,j     :Integer;
begin
for I:=1 to n do
        for j:=1 to n do
        dis[i,j]:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
end;

PROCEDURE prim;
var
        i,j,k   :integer;
        min     :real;
        point   :integer;
        gout    :integer;
begin
fillchar(team,sizeof(team),false);
team[1]:=true;
ans:=0;
for k:=1 to n-1 do
        begin
        min:=1e5;
        for I:=1 to n do
                if team[i] then
                begin
                for j:=1 to n do
                if (not team[j])and(dis[i,j]<min) then
                        begin
                        min:=dis[i,j];
                        gout:=i;
                        point:=j;
                        end;
                end;
        team[point]:=true;
        ans:=ans+dis[gout,point];
        end;
end;

begin
readln(n);
step:=0;
while N<>0 do
        begin
        inc(step);
        for I:=1 to n do readln(x[i],y[i]);
        makedis;
        prim;
        writeln('Case #',step,':');
        writeln('The minimal distance is: ',ans:0:2);
        readln(n);
        if n<>0 then writeln;
        end;
end.

⌨️ 快捷键说明

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