#include<iostream>
#define N 100+10
using namespace std;
int n, m, level;
int sum[N];
int num[N][N];
void Find(int f, int l);
int main()
{
for (int i = 0; i < N; i++)
{
sum[i] = 0;
for (int j = 0; j < N; j++)
num[i][j] = 0;
}
cin >> n >> m;
for (int i = 1; i <= m; i++)
{
int f, c, numc;
cin >> f >> numc;
while (numc--)
{
cin >> c;
num[f][c] = 1;
}
}
level = 0;
Find(1, 1);
for (int i = 1; i <= level; i++)
{
if (i == 1)
cout << sum[i];
else
cout << ' ' << sum[i];
}
cout << endl;
system("pause");
return 0;
}
void Find(int f, int l)
{
int s = 0;
for (int i = 1; i <= n; i++)
{
if (num[f][i] == 0)
s++;
else
Find(i, l + 1);
}
if (s == n)
sum[l]++;
if (l > level)
level = l;
}
1004
猜你喜欢
转载自blog.csdn.net/zero_1778393206/article/details/80376380
今日推荐
周排行