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
little_finger: 2019-01-16 20:56:14

AC in one go
Nice question --> recursion , must for beginners

bradyawn: 2018-12-11 21:49:28

The solution from @ktcoder is the easiest and easier to generalize to harder problems.

alishahali1382: 2018-11-29 12:00:59

don't say the solution here!

jagadishsagi: 2018-09-21 20:07:56

Very simple solved using bfs twice 0.01s

saketag007: 2018-09-02 22:10:56

AC in one go , very simple apply 2 BFS.

jyotiradityafc: 2018-08-15 18:07:56

@suvro_coder it is because n = 6, hence edges should be 5 but you provided 6 edges. Put n = 7 and you will get your answer.

soumi_1987: 2018-08-04 10:37:08

For Java use BufferedReader for I/O rather than Scanner.

suvro_coder: 2018-07-20 11:00:53

Weak Test Cases:
1 2
2 3
3 4
2 5
2 6
6 7

In this test case output should be 4, (4-3-2-6-7) but my accepted solution gives output 3.
Done in 1 dfs.

markomafko972: 2018-07-19 17:44:37

Try CLCKBAIT after this!

vivek_dwivedi: 2018-07-06 05:52:41

those who are doing it by finding it longest and second longest .! how are you guys are substracting extra value that you have counted ! (considering your dfs does not start from any root)!

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