![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/020aabea9994ca255a3c6016c08bd092.png)
#include <bits/stdc++.h>
using namespace std;
const int maxn = 110;
vector<int> child[maxn];
int n,m;
int maxDepth=0;
int childCount[maxn] = {0};
void BFS(int root,int level)
{
if(level > maxDepth)
maxDepth = level;
if(child[root].size() == 0)
{
childCount[level]++;
return;
}
else
{
for(int i=0;i<child[root].size();i++)
{
BFS(child[root][i],level+1);
}
}
}
void PrintResult()
{
for(int i=1;i<=maxDepth;i++)
{
printf("%d",childCount[i]);
if(i != maxDepth)
printf(" ");
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=0;i<m;i++)
{
int root,childNum;
scanf("%d%d",&root,&childNum);
for(int j=0;j<childNum;j++)
{
int temp;
scanf("%d",&temp);
child[root].push_back(temp);
}
}
BFS(1,1);
PrintResult();
}