#include <cstdio>
#include <vector>
using namespace std;
const int maxn = 110;
vector<int> Node[maxn];
int hashTable[maxn] = {0};
void DFS(int index, int level){
hashTable[level]++;
for(int j = 0; j < Node[index].size(); j++){
DFS(Node[index][j], level + 1);
}
}
int main(){
int n, m, parent, k, child;
scanf("%d%d", &n, &m);
for(int i = 0; i < m; i++){
scanf("%d%d", &parent, &k);
for(int j = 0; j < k; j++){
scanf("%d", &child);
Node[parent].push_back(child);
}
}
DFS(1, 1);
int maxLevel = -1, maxValue = 0;
for(int i = 1; i < maxn; i++){
if(hashTable[i] > maxValue){
maxValue = hashTable[i];
maxLevel = i;
}
}
printf("%d %d\n", maxValue, maxLevel);
return 0;
}
PAT a1094题解
最新推荐文章于 2021-03-14 19:05:12 发布