#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int N,M,ge[150]={0},genum[150]={0}; //ge记录对应编号是第几代,genum记录每一代的人数
vector<int> child[150];
int maxnum=-1,maxge=-1;
void BFS(){
queue<int> q;
q.push(1); //root固定为1
ge[1]=1; //
while(!q.empty()){
int t=q.front();
q.pop();
genum[ge[t]]++;
if(genum[ge[t]]>maxnum){
maxnum=genum[ge[t]];
maxge=ge[t];
}
for(int i=0;i<child[t].size();i++){
ge[child[t][i]]=ge[t]+1;
q.push(child[t][i]);
}
}
}
int main(){
scanf("%d%d",&N,&M);
for(int i=0;i<M;i++){
int father,ch,childnum;
scanf("%d%d",&father,&childnum);
for(int j=0;j<childnum;j++){
scanf("%d",&ch);
child[father].push_back(ch);
}
}
BFS();
printf("%d %d",maxnum,maxge);
return 0;
}
PAT A1094
最新推荐文章于 2020-11-24 20:56:29 发布