不是VIP会员,不能显示答案

题目解答

题目:
program exp3;
var
visited:array[1..100] of boolean;
e:array[1..100,1..100] of longint;
n,m,ans,i,j,a,b,c:longint;
procedure dfs(x,len:longint);
var
i:longint;
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.
输入:
4 6
1 2 10
2 3 20
3 4 30
4 1 40
1 3 50
2 4 60
输出:150
考点: 0
分析: 图论:生成树
解答: 最大生成数
40+50+60=150
评论:
老师: 0