nyoj239 月老的难题 二分图 匈牙利算法

2023-05-16

月老的难题

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 4
描述

月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘。

现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。

现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量吧。

假设男孩们分别编号为1~n,女孩们也分别编号为1~n。

输入
第一行是一个整数T,表示测试数据的组数(1<=T<=400)
每组测试数据的第一行有两个整数n,K,其中男孩的人数与女孩的人数都是n。(n<=500,K<=10 000)
随后的K行,每行有两个整数i,j表示第i个男孩与第j个女孩有可能结成幸福的家庭。(1<=i,j<=n)
输出
对每组测试数据,输出最多可能促成的幸福家庭数量
样例输入

1
3 4
1 1
1 3
2 2
3 2  
样例输出

2  
View Code

#include<stdio.h>
#include<string.h>
#define N 10010
#define M 510
int num;
int link[M];
int head[M],next[N],key[N];
bool use[M];

void add(int u,int v)
{
    key[num]=v;
    next[num]=head[u];
    head[u]=num++;
}


bool  find(int u)
{
    int i,temp;
    for(i=head[u];i!=-1;i=next[i])
    {
        temp=key[i];
        if(!use[temp])
        {
            use[temp]=true;
            if(link[temp]==-1||find(link[temp]))
            {
                link[temp]=u;
                return true;
            }
        }
    }
        return false;
}

int main()
{
    int T,i,a,b,n,k,ans;
    scanf("%d",&T);
    while(T--)
    {
        memset(link,-1 ,sizeof(link));
        memset(head,-1,sizeof(head));
        num=0;
        scanf("%d%d",&n,&k);
        for(i=0;i<k;++i)
        {
            scanf("%d%d",&a,&b);
            add(a,b);
        }
        ans=0;
        for(i=1;i<=n;++i)
        {
            memset(use,false,sizeof(use));
            if(find(i))
                ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}  

真想骂娘啦,一个变量搞错,WA了两个小时,还是对算法的不够熟悉造成的。

这个题的特别之处是男女编号相同,在构建增广路的时候,比较特别:用hash图存储了

转载于:https://www.cnblogs.com/zibuyu/archive/2013/03/17/2964981.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nyoj239 月老的难题 二分图 匈牙利算法 的相关文章

  • windows 下 putty 登陆服务器 显示matlab图形界面

    本文需要下载 putty exe 和 pscp exe xff1a http www chiark greenend org uk sgtatham putty download html Xming 主程序和字体 https source
  • 软件工程概论--课后作业1

    作业概况 xff1a 1 网站系统开发所需技术 1 基础内容 网页设计概述 网站设计制作的基本流程 色彩搭配在网站中的应用 网站用户界面的设计 网站广告的设计 网站中表格的使用 网站中层的应用 框架网站的制作 模板网站的制作 使用行为和Ja
  • VNC-Server安装及配置

    一 什么是VNC VNC Virtual Network Computer 是虚拟网络计算机的缩写 VNC 是一款优秀的远程控制工具软件 xff0c 由著名的 AT amp T 的欧洲研究实验室开发的 VNC 是在基于 UNIX 和 Lin
  • (转)Windows 内存管理

    1 xff0e Windows的内存结构 Windows 系统中的每个进程都被赋予它自己的虚拟地址空间 对于 32 位进程来说 xff0c 这个地址空间是 4GB xff0c 因为 32 位指针可以拥有从 0x00000000 至 0xFF
  • Kali系统换源

    安装好kali系统后要选择更换软件源 xff0c 尽量选择国内源 xff0c 更新速度快 在终端中输入 gedit etc apt sources list 打开源列表文件 xff0c 将以下源选择加入其中 xff0c 原来的内容要删除 k
  • SerialPort IOException Workaround in C#

    ref http zachsaw blogspot com 2010 07 serialport ioexception workaround in c html As promised I 39 ve whipped up a quick
  • LVM-逻辑卷常用命令和示意图

    功能 命令物理卷管理卷组管理逻辑卷管理扫描pvscanvgscanlvscan建立pvcreatevgcreatelvcreate显示pvdisplayvgdisplaylvdisplay删除pvremovevgremovelvremove
  • 卷基于快照进行恢复

    基于P版本 xff0c 对卷基于快照进行恢复的源码分析 1 特性描述 在pike版本中 xff0c openstack官网增加了一个新特性 xff0c Cinder volume revert to snapshot xff0c 该特性支持
  • 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(一)

    D题 xff1a 马的管辖 二进制枚举方案 判断该方案是否全部能被覆盖 xff0c 将最优方案存下来并进行剪枝 include lt iostream gt include lt cstring gt include lt cstdio g
  • [bash] 查找替换文件

    bash 查找替换文件 写这个脚本也加深了对 bash 数组的理解 bin bash 2015 11 23 echo e 34 说明 n将文件放在 app tmp class目录下 xff0c 保证该目录下没有其他文件 n备份目录在 app
  • Mac M1芯片 安装Homebrew

    MacBook M1芯片安装代码如下 xff0c 打开终端输入 bin bash c 34 curl fsSL https cdn jsdelivr net gh ineo6 homebrew install install sh 34 看
  • 1.学习大纲

    1 朱有鹏嵌入式Linux核心课程 xff1a https item taobao com item htm spm 61 a230r 1 14 1 1fca1869rWwNpJ amp id 61 45153106151 amp ns 6
  • [工具整理] Debain(KDE)下常用工具

    前言 xff1a Debian安装了KDE桌面环境后 xff0c 发现好多有用的功能没有集成 xff0c 需要自己安装 这里主要介绍 xff1a 截图工具 云盘工具以及KDE上的网络管理工具 0x01 截图工具 xff1a 推荐使用 fla
  • 【转】汽车CAN总线

    概述 CAN xff08 Controller Area Network xff09 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 xff0c 它起初用于实现汽车内ECU之间可靠的通信 xff0c 后因其简单实用可靠等
  • 轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端

    概要说明 cas的服务端搭建有两种常用的方式 xff1a 1 基于源码的基础上构建出来的 2 使用WAR overlay的方式来安装 官方推荐使用第二种 xff0c 配置管理方便 xff0c 以后升级也容易 本文就是使用第二种方式 安装步骤
  • vnc连接报错“connection refused (10061)”

    排除 防火墙等等 xff0c 网络设置的错误外 xff0c 登录putty exe 使用以下命令来启动 vnc server 共两行 xff1a service vncserver start vncserver 之后弹出两个warning
  • ST-LINK V2 DIY笔记(一)

    最近一段时间调试STM32板子的时候 xff0c 都是用JLINK 43 杜邦线 xff0c 或者拿官方板子当STLINK用 xff0c 可以用 xff0c 但是体积比较大 xff0c 有时候觉得比较麻烦 正好前一阵手头项目少 xff0c
  • 驱动级键盘模拟(C#)(高手请飘过)

    游戏外挂一般分为三个级别 xff1a 初级是鼠标 键盘模拟 xff0c 中级是Call游戏内部函数 xff0c 读写内存 xff0c 高级是抓包 xff0c 封包的 脱机挂 xff08 完全模拟客户端网络数据 xff0c 不用运行游戏 xf
  • CentOS7安装配置VNCServer

    一 安装图形界面 1 安装X Window图形界面 shell gt yum y groupinstall 34 X Window System 34 shell gt yum y install gnome classic session
  • 【计算机本科补全计划】NFV/SDN初识(为了避免保研复试被电话面试)

    正文之前 所有的通信应用无非就是两部分组成 xff1a 计算和网络 这两者关系密不可分 xff0c 但两者关系严重缺乏对称性 xff0c 网络一直拖累着计算 就好像是发快递 xff0c 你打个包 xff08 计算 xff09 只需要几分钟

随机推荐

  • [!] CDN: trunk - Cannot perform full-text search because Algolia returned an error: 0: Cannot reach

    pod search XXXX 时报错 xff1a CDN trunk Cannot perform full text search because Algolia returned an error 0 Cannot reach any
  • 北大青鸟消防设备说明书_北大青鸟火灾报警控制器JB-TG/T-JBF-11S厂家使用说明书...

    北大青鸟火灾报警控制器JB TG T JBF 11S厂家 使用说明书 一 JB TG T JBF 11S火灾报警控制器主要技术指标 xff1a 型号JB TG T JBF 11S 供电主电AC220V 10 50Hz 巡检周期3秒 备电DC
  • linux测试音量,在Linux中获取C中的主音量

    我正试图在Linux中检索 可能稍后设置 主音量 我正在使用PulseAudio 但理想情况下它也适用于ALSA 我找到了关于如何设置音量的this非常有用的帖子 从中我能够推断出snd mixer selem get playback v
  • Linux之apt命令详解

    一 apt的简介 apt命令可以说是Linux系统下最为重要的命令 xff0c 安装 更新 卸载软件 xff0c 升级系统内核都离不开apt命令 apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理
  • cas服务器作用,CAS服务器搭建

    CAS服务器搭建 目的 xff1a 搭建以jdbc方式连接数据库并认证用户信息 服务器源码下载地址 https github com apereo cas releases tag v4 2 1 解压后 xff0c 项目目录如下 xff1a
  • prometheus 最全面的书籍推荐

    https yunlzheng gitbook io prometheus book 转载于 https www cnblogs com kevincaptain p 10709575 html
  • 使用ubuntu搭建时间机器备份服务

    如何在ubuntu下搭建时间备份服务 折腾了很久 终于可以了 请严格按照下面的方式来操作 真正明白问题的 可以按照自己的思路来 我用的是ubnutu 16 04 安装配置netatalk sudo apt get install netat
  • sqlalchemy源代码阅读随笔(1)

    今天看的 xff0c 是url py模块 xff0c 这个在create engine中 xff0c 起到的最用很大 xff0c 其本质 xff0c 就是对访问数据库的url xff0c 进行操作管里 我们可以直接访问这个类 看一个简单的代
  • C++的中英文字符串表示(string,wstring)

    在C 43 43 中字符串类的string的模板原型是basic string template lt class Elem class traits 61 char traits lt Elem gt class Ax 61 alloca
  • iOS开发中UITableView和UITableViewCell的几种样式

    说了很久要写自己的技术博客 xff0c 由于执行力差 xff0c 一直拖到现在才开始写文章 我是一个刚进入软件行业还不到一年的小菜鸟 xff0c 没有什么技术可言 xff0c 然后就在这里斗胆妄自尊大的在博客园上写些东西 xff0c 还希望
  • ubuntu 16.04 + VMware Workstation 16player VCS +Verdi 安装备忘录

    经过了一周左右的煎熬 xff0c 终于将VCS 43 Verdi的验证环境搭建好了 xff0c 只能说很不容易 xff0c 在此作一叙述 xff0c 也是以备自己将来再在相同的地方摔跤 参考 下载软件 xff08 tb买一天会员就行 xff
  • 素数伴侣HJ28

    题目链接 xff1a 素数伴侣 牛客题霸 牛客网 解法 xff1a 最大匹配 因为素数不可能是偶数 xff0c 所以 素数伴侣 只能是一个奇数和一个偶数 由此我们可以创建二分图 xff1a 一个子集全是奇数 xff0c 另一个子集全是偶数
  • A Radiologist's Notes

    肺 lung 肺野 lung fields 后前位胸像上自纵膈肺门向外的透光区域 为了便于定位 xff0c 演第2 4前肋下缘水平画线将肺野分为上中下肺野 xff0c 从肺门到一侧肺野的最外部纵行均分三带 内 xff0c 中 xff0c 外
  • html中内联元素和块级元素的区别

    1 下表列出了内联元素和块级元素的主要区别 html中内联元素和块级元素的区别 块级元素 行内元素 独占一行 默认情况下 xff0c 其宽度自动填满其父元素宽度 相邻的行内元素会排列在同一行里 xff0c 直到一行排不下 xff0c 才会换
  • 基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植

    本博文要求各位初步了解Fatfs文件系统 友情提示Fatfs官网 xff1a http elm chan org fsw ff 00index e html 1 开发软件 keil5 Cube5 21 2 实验目的 往SDHC卡上移植Fat
  • 详解equals()方法和hashCode()方法

    前言 Java的基类Object提供了一些方法 xff0c 其中equals 方法用于判断两个对象是否相等 xff0c hashCode 方法用于计算对象的哈希码 equals 和hashCode 都不是final方法 xff0c 都可以被
  • 对本课程的期望以及教学建议

    本学期我们学的c程序更加难了上学期c语言我是压线过的 xff0c 我希望这个学期我能把以前学的知识好好再看看然后总结下来 xff0c 我终于明白了多编程是有多么重要 xff0c 这学期我的电脑一定要派上用场 老师讲课跟以往的不同 xff0c
  • centos 6.3 使用 vnc xrdp 远程登陆 不断弹出对话框“ Authentication is required to set the network proxy used for...

    参考国外解决方案 xff1a 1 cd 进入 etc xdg autostart 2 在该目录下的所有文件的末尾添加 X GNOME Autostart enabled 61 false 3 注意 如果文件中已经的值设置为true xff0
  • 【深度学习】在Caffe中配置神经网络的每一层结构

    前言 层结构 xff0c 是神经网络 Neural Networks 建模和计算的最基本单元 由于神经网络有不同的层结构 xff0c 不同类型的层又有不同的参数 所以 xff0c 对Caffe的每一层配置都不一样 xff0c 而层结构和参数
  • nyoj239 月老的难题 二分图 匈牙利算法

    月老的难题 时间限制 xff1a 1000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 月老准备给n个女孩与n个男孩牵红线 xff0c 成就一对对美好的姻缘 现在 xff0c 由于一些原因 xff0c 部分男孩