zoukankan      html  css  js  c++  java
  • HNUSTOJ 1444:树的最长路径



    1444: 树的最长路径

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 18  解决: 7
    [提交][状态][讨论版]

    题目描述

    定义:无向树中结点的路径为该结点所能到达的最远距离;无向树中的最长路径为该树中结点的最大路径。

    现给一棵无向树,请求出树的最长路径。

    输入

    多组测试数据,每组数据有n行,其中n为树的节点数,在第一行。随后有n-1,每行为两个整数a,b (0<=a,b<n),表示ab相连。

    输出

    每组数据输出一个整数,为树的最长路径,占一行。

    样例输入

    3
    0 1
    1 2

    样例输出

    2
    
    
    无向无环连通图就是无向树,一开始我想到的是一个比较笨的方法,以每一个点轮流做树的根然后跑迪杰斯特拉或者SPFA,考虑到题目没给数据范围,这样做可能会时间超限,
    于是又画了几棵树发现可以用广搜(层次遍历)解决,因为是n-1条边,不用担心给出的是森林,只可能是一棵树,然后遍历到叶子节点时做好标记,并记录路径长度,这里要注
    意的是因为给出的树可能只有左子树或者右子树,因此根节点也要标记为“叶子节点”,最后找出保存的路径长度的最大两个相加就是结果了;
    代码如下:
  • 相关阅读:
    昨天
    独一无二
    参加婚礼
    好好说话
    叶问4
    争吵+侦探成旭
    慢慢来
    cs go
    附3、Storm课程学习整体思路及问题 ---没用
    7、kafka知识总结
  • 原文地址:https://www.cnblogs.com/Pretty9/p/7347695.html
Copyright © 2011-2022 走看看