#include<iostream>
#include<vector>
using namespace std;
int N,M,maxlevel,num_of_eachlevel[100] ={0};
vector<int>child[100];
void dfs(int curID,int curlevel)
{
if(curlevel>maxlevel)maxlevel=curlevel;
if(child[curID].size()>0){
for(auto x:child[curID]){
dfs(x,curlevel+1);
}
}
else{
num_of_eachlevel[curlevel]++;
}
}
int main()
{
int i,j;
cin>>N>>M;
for(i=0;i<M;i++){
int ID,k;
cin>>ID>>k;
while(k--){
cin>>j;
child[ID].emplace_back(j);
}
}
dfs(1,1);
for(i=1;i<=maxlevel;i++){
if(i>1)cout<<' ';
cout<<num_of_eachlevel[i];
}
}
1004 Counting Leaves
最新推荐文章于 2025-06-09 20:47:43 发布