标签:eof ios set ble lag 题解 line enc pac
5 1 6 1 4 5 6 3 9 2 6 8 6 1 7
22
AC代码:
1 #include<iostream> 2 #include<string.h> 3 #include<cstdio> 4 using namespace std; 5 const int maxn=1e4+5; 6 struct node{int to,cap,next;}edge[maxn<<1]; 7 int x,y,w,cnt,maxdist,head[maxn]; 8 void add_edge(int u,int v,int w){ 9 edge[cnt].to=v; 10 edge[cnt].cap=w; 11 edge[cnt].next=head[u]; 12 head[u]=cnt++; 13 } 14 int dfs(int u,int fa,int &maxdist){ 15 int Dmax=0,Dsec=0; 16 for(int i=head[u];~i;i=edge[i].next){ 17 int v=edge[i].to; 18 if(v^fa){ 19 int nowd=dfs(v,u,maxdist)+edge[i].cap; 20 if(nowd>Dmax)Dsec=Dmax,Dmax=nowd; 21 else if(nowd>Dsec)Dsec=nowd; 22 } 23 } 24 maxdist=max(maxdist,Dmax+Dsec); 25 return Dmax; 26 } 27 int main(){ 28 memset(head,-1,sizeof(head));maxdist=cnt=0; 29 while(~scanf("%d %d %d",&x,&y,&w)){ 30 add_edge(x,y,w); 31 add_edge(y,x,w); 32 } 33 dfs(1,-1,maxdist); 34 printf("%d\n",maxdist); 35 return 0; 36 }
题解报告:poj 2631 Roads in the North(最长链)
标签:eof ios set ble lag 题解 line enc pac
原文地址:https://www.cnblogs.com/acgoto/p/9611165.html