标签:des style blog http color os io java ar
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5492 Accepted Submission(s): 2090
1 #include<cstring> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<vector> 5 #include<algorithm> 6 #include<iostream> 7 using namespace std; 8 const int maxn=40100; 9 struct node 10 { 11 int id,val; 12 }; 13 bool vis[maxn]; 14 vector< node >map[maxn]; 15 node tem; 16 int n,m,ans,cnt; 17 void dfs(int a,int b) 18 { 19 20 if(a==b){ 21 if(ans>cnt)ans=cnt; 22 return ; 23 } 24 int Size=map[a].size(); 25 vis[a]=1; 26 for(int i=0;i<Size;i++){ 27 if(!vis[map[a][i].id]){ 28 cnt+=map[a][i].val; 29 dfs(map[a][i].id,b); 30 cnt-=map[a][i].val; 31 } 32 } 33 vis[a]=0; 34 } 35 int main() 36 { 37 int cas,a,b,val; 38 cin>>cas; 39 while(cas--){ 40 cin>>n>>m; 41 cnt=0; 42 for(int i=1;i<=n;i++) 43 map[i].clear(); 44 for(int i=1;i<n;i++){ 45 scanf("%d%d%d",&a,&b,&val); 46 47 tem=(node){b,val}; 48 map[a].push_back(tem); //ÎÞÏòͼ 49 tem=(node){a,val}; 50 map[b].push_back(tem); 51 } 52 for(int i=0;i<m;i++) 53 { 54 ans=0x3f3f3f3f; 55 scanf("%d%d",&a,&b); 56 dfs(a,b); 57 printf("%d\n",ans); 58 } 59 } 60 return 0; 61 }
hdu----(2586)How far away ?(DFS/LCA/RMQ)
标签:des style blog http color os io java ar
原文地址:http://www.cnblogs.com/gongxijun/p/3957958.html