比赛 |
20091111 |
评测结果 |
AEWWWWWWWE |
题目名称 |
建造路径 |
最终得分 |
10 |
用户昵称 |
SMXX |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2009-11-11 10:06:42 |
显示代码纯文本
program df;
var
f1,f2:text;
a:array[1..1000,1..1000]of double;
f:array[1..1000,1..2]of integer;
n,m,x,y,i,j,t:integer;
sum,s:double;
begin
assign(f1,'roads.in');
assign(f2,'roads.out');
reset(f1);
rewrite(f2);
readln(f1,n,m);
sum:=0;
for i:= 1to n+1 do
for j:= 1to n+1 do a[i,j]:=0;
for i:=1 to n do readln(f1,f[i,1],f[i,2]);
for i:= 1to m do begin
readln(f1,j,t);
a[j,t]:=-1;a[t,j]:=-1;
end;
for i:= 1to n do begin
s:=-1;
for j:= 1to n do begin
if i=j then a[i,j]:=-2
else begin
if a[i,j]=0 then begin
a[i,j]:=(f[i,1]-f[j,1])*(f[i,1]-f[j,1])+(f[i,2]-f[j,2])*(f[i,2]-f[j,2]);
a[j,i]:=a[i,j];end;
if (s=-1)and(i<>j) then s:=a[i,j]
else if (a[i,j]<s)and(a[i,j]<>-2) then begin s:=a[i,j];x:=i;y:=j;end;
end;
end;
if s>0 then begin sum:=sum+sqrt(s);a[x,y]:=-1;a[y,x]:=-1;end;
end;
writeln(f2,sum:0:2);
close(f1);
close(f2);
end.