# include <bits/stdc++.h>
using namespace std;
int N, M; // 结点数、有孩子的结点数
vector<int> G[101];// 邻接表
map<int, int> cnt; // 数每一层有多少个结点
void DFS(int u, int lv){
cnt[lv]++;
if(G[u].size() == 0)
return;
for(int v: G[u])
DFS(v, lv+1);
}
int main(){
cin >> N >> M;
for(int i = 0;i < M;++i){
int u, K;
scanf("%d %d ", &u, &K);
for(int j = 0;j < K;++j){
int v;
scanf("%d\n", &v);
G[u].push_back(v);
}
}
DFS(1, 1);
auto it = max_element(cnt.begin(), cnt.end(), [](pair<int, int> p1, pair<int, int> p2){
return p1.second < p2.second;
});
cout << it->second << " " << it->first << endl;
return 0;
}
【PAT甲级 树\图的遍历】1094 The Largest Generation (25 分)
最新推荐文章于 2022-11-21 17:08:04 发布