dfs算法
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int book[100]={0};
vector<int> v[110];
void dfs(int index,int level){
book[level]++;
for(int i=0;i<v[index].size();i++){
dfs(v[index][i],level+1);
}
}
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
int k,index;
cin>>index>>k;
for(int j=0;j<k;j++){
int child;
cin>>child;
v[index].push_back(child);
}
}
dfs(1,1);
int maxn=0,maxlevel;
for(int i=0;i<100;i++){
if(book[i]>maxn){
maxn=book[i];
maxlevel=i;
}
}
cout<<maxn<<' '<<maxlevel;
return 0;
}