http://acm.hdu.edu.cn/showproblem.php?pid=5326

一道水题,题目大意是在公司里,给出n个员工和目标人数m,然后下面的n-1行是表示员工a管理b,问在这些员工中有多少管理员工的人数是k

起初想的是并查集,后来发现没那么简单,因为两者之间的关系有方向的,a管理b是单向的从b指到a,所以并查集的一个集合里包含了很多种关系

还需要用一个二维数组表示关系,它是一环扣一环的从a找到b再从b找到c......因为如果b管理c,a又管理b,那么a也管理c

code

 #include<cstdio>
#include<cstring>
using namespace std;
int father[],vis[][],num[];
void jjc(int x)
{ for (int i=;i<=x;i++)
{
father[i]=i;
num[i]=;
}
}
int find(int x)
{
while (x!=father[x])
x=father[x];
return father[x];
}
int main()
{
int n,m,k,ans,i,j,x,y,sx,sy,q;
while (~scanf("%d %d",&n,&q))
{
m=n-;
memset(vis,,sizeof(vis));
jjc(n);
while (m--)
{
scanf("%d %d",&x,&y);
sx=find(x);
sy=find(y);
if (sx!=sy)
father[sy]=sx; //不能反了
vis[x][y]=;
}
for (k=;k<=n;k++)
{
for (i=;i<=n;i++)
{
for (j=;j<=n;j++)
if (vis[i][k]==&&vis[k][j]==)
vis[i][j]=;
}
}
for (i=;i<=n;i++)
{
for (j=;j<=n;j++)
{
if (father[i]==father[j]&&i!=j&&vis[i][j]==)
num[i]++;
}
}
ans=;
for (i=;i<=n;i++)
{
if (num[i]==q)
ans++;
}
printf("%d\n",ans);
}
return ;
}

还有就是利用搜索的思想递归,放到一个矩阵里面,从第一行开始找代表找1管理的人,找到2,然后在从第二行开始找,代表找2管理的人,同时这个人也是1管理的人,找到了3,再从3开始找...

code

#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
int mapp[][];
int n,ans;
void bfs(int x,int y)
{
int j=y;
while (j<=n)
{
j++;
if (mapp[x][j]==)
{
ans++;
bfs(j,j);
}
}
j=y;
while (j>=)
{
j--;
if (mapp[x][j]==)
{
ans++;
bfs(j,j);
}
}
}
int main()
{
int m,k,sum,i,x,y,q;
while (~scanf("%d %d",&n,&k))
{
m=n-;sum=;
memset(mapp,,sizeof(mapp));
while (m--)
{
scanf("%d %d",&x,&y);
mapp[x][y]=;
}
for (i=;i<=n;i++)
{
ans=;
bfs(i,i);
// printf("%d\n",ans);
if (ans==k)
sum++;
}
printf("%d\n",sum);
}
return ;
}

hdu 5326(基础题) work的更多相关文章

  1. HDU字符串基础题(1020,1039,1062,1088,1161,1200,2017)

    并不是很精简,随便改改A过了就没有再简化了. 1020. Problem Description Given a string containing only 'A' - 'Z', we could ...

  2. HDU 1301 Jungle Roads (最小生成树,基础题,模版解释)——同 poj 1251 Jungle Roads

    双向边,基础题,最小生成树   题目 同题目     #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stri ...

  3. hdu 2089 不要62 (数位dp基础题)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  4. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

  5. Android测试基础题(三)

    今天接着给大家带来的是Android测试基础题(三).    需求:定义一个排序的方法,根据用户传入的double类型数组进行排序,并返回排序后的数组 俗话说的好:温故而知新,可以为师矣 packag ...

  6. 小试牛刀3之JavaScript基础题

    JavaScript基础题 1.让用户输入两个数字,然后输出相加的结果. *prompt() 方法用于显示可提示用户进行输入的对话框. 语法: prompt(text,defaultText) 说明: ...

  7. 小试牛刀2:JavaScript基础题

    JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...

  8. nyist oj 79 拦截导弹 (动态规划基础题)

    拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 某国为了防御敌国的导弹突击.发展中一种导弹拦截系统.可是这样的导弹拦截系统有一个缺陷:尽管它的第一发炮弹可以 ...

  9. linux面试题-基础题1

    第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap  D.swap./ 1.2 ...

随机推荐

  1. Win8系统本地连接显示为网络2

    Win8系统中,当改变了网络环境,本地连接就会被识别为网络2,网络3等: 如果在一个固定的网络环境中,需要修改此名称,可以打开注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\Mic ...

  2. IE快捷键

    键盘快捷键 在后台打开新选项卡中的链接 CTRL+单击 在前台打开新选项卡中的链接 CTRL+SHIFT+单击 在前台打开新选项卡 CTRL+T 从地址栏打开新选项卡 ALT+ENTER 从搜索框打开 ...

  3. FTP原理和虚拟用户映射登录-2019.2.8

    FTP主动模式和被动模式 FTP(File Transfer Protocol)是文件传输协议的简称.正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序 ...

  4. ubuntu18.04获取root权限并用root用户登录

    1.为root设置初始密码 (1)登录系统,打开终端,输入命令:sudo passwd root(使用root权限为root更改密码) (2)设置root密码(建议简单点,没必要那么复杂): (3)重 ...

  5. Linux 安装 iptables防火墙

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  6. Photoshop Keynote

    [Photoshop Keynote] 1.Tab:隐藏.显示所有面板. 2.Sihft+Tab:隐藏.显示右侧面板. 3.F:全屏切换. 4.选择并遮住: 参考:http://www.51shipi ...

  7. PR回写 所有物料规划PR时对净需求+最小采购批量+安全库存+舍入值的先后考虑逻辑

    所有物料规划PR时对净需求+最小采购批量+安全库存+舍入值的先后考虑逻辑20171207-1228.docx PR回写案例一: '; --SAFE_QTY:安全库存 ' ; -- MIN_LOT_SI ...

  8. cdh 安装系列2--cdh manager product 安装

    前期准备工作: 准备三台centos7 地址分别为 192.168.20.163:192.168.20.162:192.168.20.161 用163这台机器链接外网,并安装manager以及mana ...

  9. 搭建jsp渗透测试环境

    java运行环境下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html fir ...

  10. mysql不能使用IP连接,可以使用localhost连接

    问题: 本地mysql,使用127.0.0.1可以连接成功,使用具体IP连接报错 ERROR 1130 (HY000): Host '10.252.225.125' is not allowed to ...