Function to perform DFS Traversal from source node to the deepest node and update maximum distance to the deepest node
void dfs ( int src , vector < int > Adj [ ] , vector < bool > & visited , int level , int & distance ) {