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.
Input
The first line of the input file contains one integer N  number of nodes in the tree (0 < N <= 10000). Next N1 lines contain N1 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).
Output
Print the length of the longest path on one line.
Example
Input: 3 1 2 2 3 Output: 2
hide comments
Omar:
20171013 20:47:00
Run BFS on any node s in the graph, remembering the node u discovered last. Run BFS from u remembering the node v discovered last. d(u,v) is the diameter of the tree.


mahilewets:
20170912 11:54:10
It is very hard to not to AC first submission. 

rvatna:
20170911 15:57:23
#1. Test example on Spoj Toolkit is wrong, it's not even a tree since there is a cycle. Test on your own,


kholan:
20170825 23:24:24
@sharma96 4 is hardly a valid node index in a tree with only three nodes so your example is invalid input which should not ever happen on spoj 

hk_visact:
20170823 13:02:50
AC in one go, applied 2 bfs, took a while to type the code in java though


vishesh197:
20170819 17:19:19
use bfs then dfs (dynammic programming) 

sharma96:
20170815 22:05:04
Can anyone please tell how to handle this test case:


Shantanu Banerjee:
20170808 08:44:15
Simple Double DFS! 

sunidhi:
20170804 06:17:12
@anuraag19 spoj won't allow us to see your solution.use some other platform to share your code.


anuraag19:
20170802 18:51:15
does anybody know why i am getting runtime error?

Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  0.181s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 
Resource:  Coauthor Amber 