比赛 |
20091103 |
评测结果 |
AAAAAAAAAA |
题目名称 |
热浪 |
最终得分 |
100 |
用户昵称 |
王瑞祥K |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2009-11-03 11:01:42 |
显示代码纯文本
program heatwvx(input,output);
var
dist:array[1..2500]of longint;
a:array[1..2500,1..2500]of integer;
use:array[1..2500]of boolean;
i,j,k,t,c,rs,re,ts,te,min:longint;
begin
assign(input,'heatwvx.in');assign(output,'heatwvx.out');
reset(input);rewrite(output);
readln(t,c,ts,te);
for i:=1 to t do
for j:=1 to t do
a[i,j]:=maxint;
for i:=1 to c do begin read(rs,re);readln(a[rs,re]);a[re,rs]:=a[rs,re]; end;
for i:=1 to t do dist[i]:=maxlongint;
fillchar(use,sizeof(use),true);
dist[ts]:=0;
for i:=1 to t-1 do begin
min:=maxlongint;
for j:=1 to t do
if (dist[j]<min)and use[j] then begin min:=dist[j]; k:=j;end;
use[k]:=false;
for j:=1 to t do
if dist[k]+a[k,j]<dist[j] then dist[j]:=dist[k]+a[k,j];
end;
writeln(dist[te]);
close(input);close(output);
end.