首页 > 其他 > 详细

sicily 1024 Magic Island

时间:2015-05-15 06:33:06      阅读:165      评论:0      收藏:0      [点我收藏+]

深搜中与记录长度有关的题目,都差不多是这样的!

还有邻接表的写法,不够熟!

 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int ans;
 6 
 7 bool vis[10005];
 8 
 9 struct edge {
10     int u;
11     int v;
12     int l;
13 };
14 
15 vector <edge> graph[10005];
16 
17 void dfs(int n, int x, int temp)
18 {
19     if(ans < temp)
20         ans=temp;
21     vis[x]=1;
22     for(int i=0; i<graph[x].size(); i++)
23     {
24         if(!vis[graph[x][i].v])
25             dfs(n, graph[x][i].v, temp+graph[x][i].l);
26     }
27 }
28 
29 
30 int main()
31 {
32     int n,k;
33     while(scanf("%d%d", &n, &k) != EOF)
34     {
35         ans=0;
36         int temp=0;
37         memset(graph, 0, sizeof(graph));
38         memset(vis, 0, sizeof(vis));
39         int u,v,l;
40         for(int i=0; i<n-1; i++)
41         {
42             edge e;
43             scanf("%d%d%d", &u, &v, &l);
44             e.u = u;
45             e.v = v;
46             e.l = l;
47             graph[u].push_back(e);    //注意是双向的啊!!! 
48             e.u = v;
49             e.v = u;
50             e.l = l;
51             graph[v].push_back(e);
52         }
53         
54         dfs(n, k, temp);
55         printf("%d\n", ans);
56     }
57     return 0;
58 } 

 

sicily 1024 Magic Island

原文:http://www.cnblogs.com/dominjune/p/4504875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!