hdu 5326 Work (2015多校第三場第11題) 暴力

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5326

題意:給你n個人和一個k,再給你n-1個關係a b,表示a是b直接上司,求有k個下屬的上司有幾個。

思路:由於1 <= n <= 100 所以還是暴力接題比較快

代碼:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <stdlib.h>
using namespace std;

int mp[110][110];
int main()
{
    int i,j,kk,n,k,a,b,ans;
    while(scanf("%d%d",&n,&k)==2)
    {
        memset(mp,0,sizeof(mp));
        for(i=0;i<n-1;i++)
        {
            scanf("%d%d",&a,&b);
            mp[a][b]=1;
        }
        for(kk=1;kk<=n;kk++)
        {
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
                {
                    if(mp[i][kk]&&mp[kk][j])
                        mp[i][j]=1;
                }
            }
        }
        ans=0;
        for(i=1;i<=n;i++)
        {
            int cot=0;
            for(j=1;j<=n;j++)
            {
                if(mp[i][j]&&i!=j)
                    cot++;
            }
            if(cot==k)
                ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章