POJ P1985 Cow Marathon 题解
这道题是我们考试的第一题,非常水,就是一个树的直径的板子。详见上一篇博客。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define maxn 40000 6 using namespace std; 7 int n,m,cnt=0,ans,f_num; 8 int head[2*maxn+10],d[maxn+10]; 9 struct node 10 { 11 int u,v,w,nex; 12 }edge[2*maxn+10]; 13 inline void add(int x,int y,int z) 14 { 15 cnt++; 16 edge[cnt].u=x; 17 edge[cnt].v=y; 18 edge[cnt].w=z; 19 edge[cnt].nex=head[x]; 20 head[x]=cnt; 21 } 22 inline void dfs(int x,int fa) 23 { 24 if(ans<d[x]) 25 { 26 ans=d[x]; 27 f_num=x; 28 } 29 for(int i=head[x];i!=-1;i=edge[i].nex) 30 { 31 int to=edge[i].v; 32 if(to==fa)continue; 33 d[to]=d[x]+edge[i].w; 34 dfs(to,x); 35 } 36 } 37 int main() 38 { 39 freopen("marathon.in","r",stdin); 40 freopen("marathon.out","w",stdout); 41 memset(head,-1,sizeof(head)); 42 scanf("%d%d",&n,&m); 43 for(int i=1;i<=m;i++) 44 { 45 int x,y,z; 46 char xb; 47 scanf("%d%d%d",&x,&y,&z); 48 cin>>xb; 49 add(x,y,z); 50 add(y,x,z); 51 } 52 ans=0; 53 d[1]=0; 54 dfs(1,0); 55 ans=0; 56 d[f_num]=0; 57 dfs(f_num,0); 58 printf("%d",ans); 59 return 0; 60 }
请各位大佬斧正(反正我不认识斧正是什么意思)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~