题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/1111914599412858888
题目大意:非二叉树的遍历。bfs和dfs均可,但是注意,树的根节点并非是1,是入度为0的节点!!
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<vector<int> > a(100005);
int isd=-999;
int imax;
void dfs(int ac,int sd){
if(sd>isd){
isd=sd;
imax=ac;
}
for(int i=0;i<a[ac].size();i++){
dfs(a[ac][i],sd+1);
}
}
int main(){
int n,t;
cin >> n;
int root=(1+n)*n/2;
for(int i=1;i<=n;i++){
cin >> t;
a[i].resize(t);
for(int j=0;j<a[i].size();j++){
cin >> a[i][j];
root-=a[i][j];
}
}
dfs(root,0);
cout << imax;
return 0;
}