记录编号 49200 评测结果 AAAAA
题目名称 最难的任务 最终得分 100
用户昵称 GravatarDMC_DY 是否通过 通过
代码语言 Pascal 运行时间 0.091 s
提交时间 2012-11-07 14:50:01 内存使用 0.32 MiB
显示代码纯文本
var t,n,i,j,k,l,o,m:longint; d:array[1..200]of longint; v:array[1..200]of boolean;
    c:array[1..200,1..200]of longint;
begin
assign(input,'hardest.in'); assign(output,'hardest.out'); reset(input); rewrite(output);
 readln(t); for o:=1 to t do begin
  readln(n,m); fillchar(d,sizeof(d),$5f); fillchar(v,sizeof(v),false); fillchar(c,sizeof(c),0); d[1]:=0;
  for i:=1 to m do begin readln(j,k,l); if(c[j,k]=0)or(c[j,k]>l)then begin c[j,k]:=l; c[k,j]:=l; end; end; l:=0;
  repeat
   j:=maxlongint;
   for i:=1 to n do
    if not(v[i])and(d[i]<j)then
     begin j:=d[i]; k:=i; end;
   v[k]:=true; inc(l);
   for i:=1 to n do
    if(c[k,i]<>0)and(d[k]+c[k,i]<d[i])then
     d[i]:=d[k]+c[k,i];
  until l=n;
  if d[n]>2000000 then write(-1) else writeln(d[n]);
 end;
close(input); close(output);
end.