PT07Z - Longest path in a tree

You are given an unweighted, undirected tree. Write a program to output the length of the longest path (from one node to another) in that tree. The length of a path in this case is number of edges we traverse from source to destination.


The first line of the input file contains one integer N --- number of nodes in the tree (0 < N <= 10000). Next N-1 lines contain N-1 edges of that tree --- Each line contains a pair (u, v) means there is an edge between node u and node v (1 <= u, v <= N).


Print the length of the longest path on one line.


1 2
2 3


hide comments
Rajat Gautam: 2017-05-18 23:09:07

@prashant2018 Use first bfs to find farthest node. and second bfs starting from this node to find longest path.

helloitsme: 2017-05-03 21:36:54

I used bfs twice with adjacency list in JAVA ,then tried dfs twice but still its timing out :( , Please help!

rohit9934: 2017-05-02 07:23:45

Damn man,so many tries. I used double BFS, 1 for finding arbitrary farthest node and other from finding farthest node from that node.

prashant2018: 2017-04-20 23:23:15

getting WA on 4th test case. Can someone help please. Using double bfs

Last edit: 2017-04-21 11:02:31
gulsntils_12: 2017-04-19 12:50:51

A reminder - the answer is not the number of nodes in the path but the number of edges in it.
Got 4 WA because of it :(

ydeepak1889: 2017-03-11 15:08:43

AC in one Go! Single dfs

prasoonbatham: 2017-03-05 19:41:38

Easy two DFS :)

kingp: 2017-03-03 09:43:30

is there any need for bfs in a tree there is only one path between any two vertices so dfs is enough.

da_201501181: 2017-03-02 21:45:52

AC in one Go! Simple double dfs

gboduljak: 2017-02-15 22:24:33

should be moved to tutorial

Added by:Thanh-Vy Hua
Time limit:0.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:Co-author Amber