标签:2015多校联赛#3
7 2 1 2 1 3 2 4 2 5 3 6 3 7
2
题意: 就是问你有 k条线的节点有多少个 可以并查集 也和暴力(比较喜欢:))
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> using namespace std; int n,k; const int M = 105; int a[M]; struct Edge {; int x,y; }p[M]; int fun(int m) { if(a[m] == -1) a[m] = 1; for(int i = 0;i < n-1; i++) if(p[i].x == m) a[m] = a[m] + fun(p[i].y); return a[m]; } int main() { while(~scanf("%d%d",&n,&k)) { for(int i = 0;i < n-1; i++) { scanf("%d%d",&p[i].x,&p[i].y); } memset(a,-1,sizeof(a)); for(int i = 1 ;i <= n; i++) if(a[i] == -1) a[i] = fun(i); int cnt = 0; for(int i = 1 ;i <= n; i++) { if(a[i] == k+1) cnt++; } printf("%d\n",cnt); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:2015多校联赛#3
原文地址:http://blog.csdn.net/u012349696/article/details/47126575