给同一张横着的牌的所在的格子编同一样的号,这些格子对应x集合,给同一张竖着的牌所在的格子编同一样的号,对应y集合,同一个格子上既有横着的牌又有竖着的牌,那么就建一条边,有冲突就要拿走一张,结果是总的牌数-最大二分图匹配数···

贴代码:

 #include <cstdio>
#include <cstring>
#define N 1100
int nx,ny;
int cx[N],cy[N];
int g[N][N];
bool vis[N];
int map[N][N];
bool path(int u)
{
for(int v=; v<ny; ++v)
{
if(g[u][v] && !vis[v])
{
vis[v] =;
if(cy[v]==- || path(cy[v]))
{
cx[u] = v;
cy[v] =u;
return true;
}
}
}
return false;
}
int maxMatch()
{
int ans =;
memset(cx,-,sizeof(cx));
memset(cy,-,sizeof(cy));
for(int i=; i<nx; ++i)
{
if(cx[i] == -)
{
memset(vis,,sizeof(vis));
if(path(i))
++ans;
}
}
return ans;
}
int main()
{
// freopen("in.c","r",stdin);
while(scanf("%d%d",&nx,&ny),nx&&ny)
{
memset(map,-,sizeof(map));
int x,y;
for(int i=; i<nx; ++i)
{
scanf("%d%d",&x,&y);
map[x][y] =i;
map[x+][y]= i;
}
memset(g,,sizeof(g));
for(int i=; i<ny; ++i)
{
scanf("%d%d",&x,&y);
if(map[x][y] != - ) g[map[x][y]][i] =;
if(map[x][y+] != -) g[map[x][y+]][i] =;
}
printf("%d\n",nx+ny-maxMatch());
}
return ;
}

HDU 4619 Warm up 2 贪心或者二分图匹配的更多相关文章

  1. hdu 4619 Warm up 2 ( 二分图最大匹配 )

    题目:Warm up 2 题意:有横竖两种方式放着的多米诺骨牌,相同方向的不可能重叠,但是横放和竖放             的牌可能重叠.移走重叠的牌使剩下的牌最多. 分析:二分图匹配:最大独立集= ...

  2. hdu 4619 Warm up 2(并查集)

    借用题解上的话,就是乱搞题.. 题意理解错了,其实是坐标系画错了,人家个坐标系,我给当矩阵画,真好反了.对于题目描述和数据不符的问题,果断相信数据了(这是有前车之鉴的hdu 4612 Warm up, ...

  3. HDU 3081:Marriage Match II(二分图匹配+并查集)

    http://acm.hdu.edu.cn/showproblem.php?pid=3081 题意:有n个男生n个女生,他们只有没有争吵或者女生a与男生A没有争吵,且女生b与女生a是朋友,因此女生b也 ...

  4. HDU 1507 Uncle Tom's Inherited Land*(二分图匹配)

    Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  5. hdu 3729 I'm Telling the Truth 二分图匹配

    裸的二分图匹配.需要输出方案. #include<cstdio> #include<cstring> #include<vector> #include<al ...

  6. HDU 5938 Kingdom of Obsession(数论 + 二分图匹配)

    题意: 给定S,N,把S+1,S+2,...S+N这N个数填到1,2,...,N里,要求X只能填到X的因子的位置.(即X%Y=0,那么X才能放在Y位置) 问是否能够放满. 分析:经过小队的分析得出的结 ...

  7. HDU 5727 Necklace ( 2016多校、二分图匹配 )

    题目链接 题意 : 给出 2*N 颗珠子.有 N 颗是阴的.有 N 颗是阳的.现在要把阴阳珠子串成一个环状的项链.而且要求珠子的放置方式必须的阴阳相间的.然后给出你 M 个限制关系.格式为 ( A.B ...

  8. hdu 4619 Warm up 2 二分图匹配

    题目链接 给两种长方形, 水平的和垂直的, 大小都为1*2, n个水平的, m个垂直的, 给出它们的坐标. 水平的和垂直的可以相互覆盖, 但是同种类型的没有覆盖. 去掉一些长方形, 使得剩下的全部都没 ...

  9. HDU 4619 Warm up 2 最大独立集

    Warm up 2 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4619 Description Some 1×2 dominoes are pla ...

随机推荐

  1. 【Golang 接口自动化04】 解析接口返回JSON串

    前言 上一次我们一起学习了如何解析接口返回的XML数据,这一次我们一起来学习JSON的解析方法. JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基 ...

  2. 微信小程序跳到h5,h5在跳回小程序

    1.在微信小程序后台: 设置->开发设置->业务域名: 添加业务逻辑域名 2.在html5页面添加如下代码: <! -- html --> < script type=& ...

  3. YII第三步,日志开启

    YII第三步,日志开启 index.php入口文件配置: defined('YII_DEBUG') or define('YII_DEBUG',true); cofig/main.php 'prelo ...

  4. vs.net应用程序图标以及制作安装程序快捷方式图标设置

           我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况, ...

  5. 20161208xlVBA工作表数据导入Access

    Sub InsertToDataBase() Dim DataPath As String Dim SQL As String Const DataName As String = "yun ...

  6. 『Collections』namedtuple_具名元组

    namedtuple()类 需要两个参数,参数一为nametupe名称,参数二为字段一般为序列(多个字段) Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型. ...

  7. 杜伦大学提出GANomaly:无需负例样本实现异常检测

    杜伦大学提出GANomaly:无需负例样本实现异常检测 本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW.在异常检测模块下,如果没有异常(负例样本)来训练模型,应该如何实现 ...

  8. MVC,重写AuthorizeAttribute实现自己的权限验证(一)

    我们要实现下面的效果,某个controller,只允许某几个角色访问(admin,user,document controller) [MyAuthorize(Roles = "Admin, ...

  9. vue兄弟组件传递数据

    在main.js里面设置data{eventHub:new Vue() } new Vue({ el: '#app', router, store, template: '<App/>', ...

  10. Using XmlHttpRequest 写JSON网页

    代码如下-----xmlhttprequest.responseJSON: <!DOCTYPE html> <html> <head> <meta chars ...