比赛 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.