[cpp]
/*
*题目大意:
*题目为天朝文字,不多说;
*
*算法思想:
*题目很明显要求的是一个LCA问题;
*即询问从A到B的需要的步数,即首先从A到达A和B的最近公共祖先需要的步数+1就OK了;
*
*算法步骤:
*由于是有向图,所以开始可以用一个数组ind记录每个顶点的入度;
*如果该顶点的入度为0,则可以当做根节点,利用dfs求出树中每个顶点的深度d;
*则从u到v的步数ans=d[u]-lca(u,v)+1,当然要考虑几个特殊情况;
**/
#include
#include
#include
#include
#include