题意:

     n个男孩和m个女孩,给你他们谁和谁彼此了解,问你要找到一个集合,使得这个集合中的男孩和女孩相互了解,并且人数最多。

思路:

     简单题目,其实就是在求最大点权独立集元素个数,先说下点券独立集的概念,就是给你一些关系,让你找到一个最大的集合,使得集合中的任意两个人之间都不会有关系,用的是匈牙利算法,对于这个题目我们可以吧不了解的连接到一起,这样得到的就是集合中任意两人都了解的最大人数了,最大点券独立集元素个数 = n + m - 最大匹配数。


#include<stdio.h>
#include<string.h> #define N_node 200 + 10
#define N_edge 40000 + 20 typedef struct
{
int to ,next;
}STAR; STAR E[N_edge];
int list[N_node] ,tot;
int map[N_node][N_node];
int mk_dfs[N_node] ,mk_gx[N_node]; void add(int a ,int b)
{
E[++tot].to = b;
E[tot].next = list[a];
list[a] = tot;
} int DFS_XYL(int s)
{
for(int k = list[s] ;k ;k = E[k].next)
{
int to = E[k].to;
if(mk_dfs[to]) continue;
mk_dfs[to] = 1;
if(mk_gx[to] == -1 || DFS_XYL(mk_gx[to]))
{
mk_gx[to] = s;
return 1;
}
}
return 0;
} int main ()
{
int n ,m ,k ,i ,j;
int a ,b ,cas = 1;
while(~scanf("%d %d %d" ,&n ,&m ,&k) && n + m + k)
{
memset(map ,0 ,sizeof(map));
for(i = 1 ;i <= k ;i ++)
{
scanf("%d %d" ,&a ,&b);
map[a][b] = 1;
}
memset(list ,0 ,sizeof(list));
tot = 1;
for(i = 1 ;i <= n ;i ++)
for(j = 1 ;j <= m ;j ++)
if(!map[i][j]) add(i ,j);
memset(mk_gx ,255 ,sizeof(mk_gx));
int sum = 0;
for(i = 1 ;i <= n ;i ++)
{
memset(mk_dfs ,0 ,sizeof(mk_dfs));
sum += DFS_XYL(i);
}
printf("Case %d: %d\n" ,cas ++ ,m + n - sum);
}
return 0;
}

最新文章

  1. 深入理解JavaScript运行机制
  2. MonoGame 3.2 下,截屏与 Texture2D 的保存
  3. 编译安装apache
  4. rails 常用的知识点
  5. java中的接口interface
  6. D3的基本设计思路
  7. 【POJ】3678 Katu Puzzle
  8. IE6-8中Date不支持toISOString方法
  9. 题解西电OJ (Problem 1007 -做一名正气的西电人 )--长整型计算
  10. The Woman in Red Is Seen as a Threat by Other Wom
  11. HTML5 Video与Audio 视频与音频
  12. js基本类型
  13. 解决magento保存产品时耗时很长的问题
  14. HBase API 基础操作
  15. zTree树形菜单使用实例
  16. Ubuntu下无法输入中文问题解决
  17. django之relacted.py(探秘django的关联field)
  18. 09-清除默认格式 reset.css
  19. Date类型错误
  20. capwap学习笔记&mdash;&mdash;capwap的前世今生(转)

热门文章

  1. 基于CameraLink的逻辑综合和版图设计
  2. Kubernetes 实战 —— 02. 开始使用 Kubernetes 和 Docker
  3. CVE-2017-7504-JBoss JMXInvokerServlet 反序列化
  4. 订单退款&amp;重复支付需求疑问点归纳整理
  5. ListView解析
  6. python之pillow模块学习--验证码的生成和破解
  7. Linux内核模块驱动加载与dmesg调试
  8. DenseNet的个人总结
  9. 1、MyBatis教程之环境准备和简介
  10. Java之继承和抽象类