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
anuraag19: 2017-08-02 18:51:15

does anybody know why i am getting runtime error?,anuraag19/

Last edit: 2017-08-02 18:52:12
karthik_vg: 2017-07-18 13:55:21

dfs + memorization ;)

sagnik_66: 2017-07-05 10:48:57

Solved using single DFS, this helped :

phben: 2017-07-04 03:24:22

@prashant2018 How to see the test cases? Aren't they hidden?

ashwani0605: 2017-06-21 06:52:03

Some of the answer in SPOJ toolkit are wrong, so verify on your own

sandeep_4141: 2017-06-14 10:27:13


rahul_nitdgp: 2017-06-06 09:02:40

Only one DFS!

Anirban Acharya: 2017-06-05 07:56:21

how do you get the root node in these kind of problems on Spoj? For this problem I considered the first node as the root node although any node can be considered as the root for finding the deepest node, but I am asking in general.

swas99: 2017-05-20 10:48:15

Weak test-cases.
For tc :
1 2
1 3
2 4
2 5
4 6
5 7
Ans = 4
One of my AC code returned 6.

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.

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