100%AC代码,注意下面我数组设1009和2009都会报错,改成n之后就ac了。。 #include <iostream> #include <algorithm> #include <vector> using namespace std; int n; int height(vector<vector<int> >&kid, int root){ if(root < 0 || root >= n) return 0; if(kid[root].empty()) return 1; int h = 0; for(auto x: kid[root]) h = max(h, height(kid, x)); return h+1; } int main() { int parent, child; cin>>n; vector<int>indegree(n, 0); vector<vector<int> >kid(n, vector<int>()); for(int i=1; i<n; i++){ scanf("%d %d", &parent, &child); indegree[child]++; kid[parent].push_back(child); } int maxH = 0; for(int i = 0; i<n; i++){ if(indegree[i] == 0) maxH = max(maxH, height(kid, i)); } cout<<maxH<<endl; return 0; }
点赞 4

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务