题解 P1294 【高手去散步】

· · 题解

const
     v = 100;
var
     visited:array[1..v]of boolean;
     e:array[1..v,1..v]of integer;
     n,m,ans,i,j,a,b,c:integer;
     procedure dfs(x,len:integer);
     var
         i:integer;
     begin
          visited[x] := true;
         if len > ans then
             ans:=len;
         for i:=1 to n do
             if (not visited[i]) and(e[x,i] <> -1) then
                 dfs(I,len+e[x,i]);
         visited[x] := false;
     end;
     begin
         readln(n,m);
         for i:=1 to n do
             for j:=1 to n do
                 e[i][j] := -1;
         for i:=1 to m do
         begin
             readln(a,b,c);
             e[a][b]:=c;
             e[b][a]:=c;
         end;
         for i:=1 to n do
             visited[i]:=false;
         ans:=0;
         for i:=1 to n do
             dfs(i,0);
         writeln(ans);
     end.