题目大意:第一行输入3个整数n,m,k。分别表示女生数(A机器数),男生数(B机器数),以及它们之间可能的组合(任务数)。

在接下来的k行中,每行有3个整数c,a,b。表示任务c可以有机器A的a状态或者是机器B的b状态来完成

解题思路:最小点覆盖数

1)如果把一个任务看成是一条直线,那么机器的状态就为一个点。在所有任务都必须完成的情况下(即一条直线上至少要有一个端点),

求所需要的最少的端点数

代码如下:

/*
* 1150_1.cpp
*
* Created on: 2013年8月30日
* Author: Administrator
*/ #include <iostream> using namespace std; const int maxn = 101;
int map[maxn][maxn];
int link[maxn];
bool useif[maxn];
int n,m; int can(int t){
int i;
for(i = 1 ; i <= m ; ++i){
if(useif[i] == 0 && map[t][i]){
useif[i] = 1;
if(link[i] == -1 || can(link[i])){
link[i] = t;
return 1;
}
}
} return 0;
} int max_match(){
int i;
int num = 0;
memset(link,-1,sizeof(link));
for(i = 1 ; i<= n ; ++i){
memset(useif,0,sizeof(useif));
if(can(i)){
num++;
}
}
return num;
} int main(){
int k;
while(scanf("%d%d%d",&n,&m,&k)!=EOF,n){
int i;
memset(map,0,sizeof(map));
for(i = 0 ; i < k ; ++i){
int c,a,b;
scanf("%d%d%d",&c,&a,&b);
map[a][b] = 1;
}
printf("%d\n",max_match());
}
}

(step6.3.3)hdu 1150(Machine Schedule——二分图的最小点覆盖数)的更多相关文章

  1. hdu - 1150 Machine Schedule (二分图匹配最小点覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=1150 有两种机器,A机器有n种模式,B机器有m种模式,现在有k个任务需要执行,没切换一个任务机器就需要重启一次, ...

  2. HDU 1150 Machine Schedule (二分图最小点覆盖)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150 有两个机器a和b,分别有n个模式和m个模式.下面有k个任务,每个任务需要a的一个模式或者b的一个 ...

  3. 匈牙利算法模板 hdu 1150 Machine Schedule(二分匹配)

    二分图:https://blog.csdn.net/c20180630/article/details/70175814 https://blog.csdn.net/flynn_curry/artic ...

  4. hdu 1150 Machine Schedule(二分匹配,简单匈牙利算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150 Machine Schedule Time Limit: 2000/1000 MS (Java/ ...

  5. hdu 1150 Machine Schedule(最小顶点覆盖)

    pid=1150">Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/327 ...

  6. HDU - 1150 Machine Schedule(最小点覆盖数)

    1.有两台机器A和B以及N个需要运行的任务.A机器有n种不同的模式,B机器有m种不同的模式,而每个任务都恰好在一台机器上运行.如果它在机器A上运行,则机器A需要设置为模式xi,如果它在机器B上运行,则 ...

  7. 二分图最大匹配(匈牙利算法)简介& Example hdu 1150 Machine Schedule

    二分图匹配(匈牙利算法) 1.一个二分图中的最大匹配数等于这个图中的最小点覆盖数 König定理是一个二分图中很重要的定理,它的意思是,一个二分图中的最大匹配数等于这个图中的最小点覆盖数.如果你还不知 ...

  8. hdu 1150 Machine Schedule 最少点覆盖转化为最大匹配

    Machine Schedule Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

  9. hdu 1150 Machine Schedule 最少点覆盖

    Machine Schedule Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

随机推荐

  1. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  2. 十进制字符串转成二进制(decimal to binary)

    题目:给一个十进制的字符串例如1.25, 将其转化为二进制字符串,这个例子的结果是1.01 = 1*2^0 + 0*2^(-1) + 1*2^(-2) = 1.25. 如果不能完整的用二进制表示,输出 ...

  3. eclipse中build workspace的相关优化

    网上流传的各种的eclipse的调优的方法都大同小异,但是调优的基本上针对eclipse或者myclipse的本身,比如关掉validate和启动项,文件拼写,和自动构建等,调过之后,等个eclips ...

  4. Poj 2777 Count Color(线段树基础)

    又毁三观了.......虽然题目数据有坑:区间[a,b]可能会有a>b的情况,但是我一开始没有考虑它也能过. 此外莫名其妙的TLE #include <iostream> #incl ...

  5. Servlet 实现文件的上传与下载

    这段时间尝试写了一个小web项目,其中涉及到文件上传与下载,虽然网上有很多成熟的框架供使用,但为了学习我还是选择了自己编写相关的代码.当中遇到了很多问题,所以在此这分享完整的上传与下载代码供大家借鉴. ...

  6. 数据类型及其空间大小,vs2012实测

    #include "stdafx.h" #include <stdio.h> #include "common.h" #include " ...

  7. Multiple bindings were found on the class path(转)

    Multiple bindings were found on the class path SLF4J API is designed to bind with one and only one u ...

  8. codeforces 264D Colorful Stones

    题目 题目来自于rng_58Orz. 算法 讨论某个状态\((x,y)\)是否可达,\(x\)是狐狸到达的石头,\(y\)是猫的. 题解说,如果满足以下条件,那么它就是可到达状态: \(t[0..y] ...

  9. CairoSVG - Convert SVG to PNG or PDF - Contents

    CairoSVG - Convert SVG to PNG or PDF - Contents User Documentation Author Guillaume Ayoub Date 2011- ...

  10. Myeclipse 设定文件的默认打开方式

    Myeclipse 设定文件的默认打开方式.今天下载了一个properties的中文插件,希望.property的文件能默认以这个程序打卡.说一下设置方法. Window -> Preferen ...