HDU OJ 5326 Work( 2015多校联合训练第3场) 并查集

时间:2023-03-09 19:58:15
HDU OJ 5326 Work( 2015多校联合训练第3场) 并查集

 题目连接:戳ME

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int M = 1e2+;
int n, k;
int par[M];
int sum[M]; void find(int x)
{
if( par[x]!=x )
{
sum[par[x]]++;
find(par[x]);
}
else
return;
}
int main()
{
while( ~scanf("%d %d", &n, &k ) )
{
memset( par, , sizeof(par) );
memset( sum, , sizeof(sum) );
for( int i=; i<=n; i++ )
par[i] = i;
for( int i=; i<n; i++ )
{
int x, y;
scanf("%d %d", &x, &y );
par[y] = x;
}
for( int i=; i<=n; i++ )
find( i );
int ret = ;
for( int i=; i<=n; i++ )
{
if( sum[i]==k )
ret++;
}
printf("%d\n", ret );
} }