记录编号 |
49145 |
评测结果 |
AATTT |
题目名称 |
最难的任务 |
最终得分 |
40 |
用户昵称 |
o_o |
是否通过 |
未通过 |
代码语言 |
Pascal |
运行时间 |
3.001 s |
提交时间 |
2012-11-07 13:15:54 |
内存使用 |
0.47 MiB |
显示代码纯文本
var
a,b,c,d,m,n,x,y,z,o:longint;
k,l:array[0..200,0..200]of longint;
procedure dfs(q,e:longint);
var
p,g,i,j:longint;
begin
if q=n then
if o>e then
o:=e;
if q<>n then
for i:=1 to n do
if (k[q,i]<>0)and(l[q,i]=0) then
begin
l[q,i]:=1;
l[i,q]:=1;
dfs(i,e+k[q,i]);
l[q,i]:=0;
l[i,q]:=0;
end;
end;
begin
assign(input,'hardest.in');
assign(output,'hardest.out');
reset(input);
rewrite(output);
readln(a);
for b:=1 to a do
begin
read(n,m);
fillchar(k,sizeof(k),0);
for c:=1 to m do
begin
readln(x,y,z);
if (k[x,y]>z)or(k[x,y]=0) then
begin
k[x,y]:=z;
k[y,x]:=z;
end;
end;
o:=maxlongint;
for d:=2 to n do
if k[1,d]<>0 then
begin
l[1,d]:=1;
l[d,1]:=1;
dfs(d,k[1,d]);
l[1,d]:=0;
l[d,1]:=0;
end;
if o<>maxlongint then
writeln(o)
else
writeln(-1);
end;
close(input);
close(output);
end.