首先这道题很容易想到并查集,但是需要注意的是,树的节点之间有一定的关系,即双亲、孩子,但是对于这道题来说无需那么清楚的搞清他们的关系,只需要判断是不是树就可以了。因为一棵树,只有根节点入度为0,其余的点入度为1,如果你发现有某些点的入度高于1,那么它肯定不是一棵树。下面结合代码分析。 #include<cstdio> using namespace std; const int MAXN=10000; int Node[MAXN]; int indegree[MAXN]; bool visit[MAXN]; //这个标记数组主要的用途是提高效率,忽略没有出现的节点 voi...