关闭

poj 1325 Machine Schedule(最大匹配,匈牙利算法)

标签: acm匈牙利算法算法二分图最小路径覆盖
266人阅读 评论(0) 收藏 举报
分类:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int way[501][501],boy[501],girl[501];
int k,m,n;
bool findways(int x)
{
    for (int i=1; i<=m; i++)
    {
        if(!girl[i]&&way[x][i])
        {
            girl[i]=1;
            if (!boy[i]||findways(boy[i]))
            {
                boy[i]=x;
                return true;
            }
        }
    }
    return false;
}
int main()
{
    while (scanf("%d",&k)!=EOF&&k)
    {
        int a,b,c,sum;
        scanf("%d %d",&m,&n);
        memset(way,0,sizeof(way));
        memset(boy,0,sizeof(boy));
        sum=0;
        for (int i=0; i<n; i++)
        {
            scanf("%d %d%d",&c,&a,&b);
            way[a][b]=1;
        }
        for (int i=1; i<=k; i++)
        {
            memset(girl,0,sizeof(girl));
            if (findways(i)) sum++;
        }
        printf("%d\n",sum);
    }
    return 0;
}



0
0
查看评论

求解二分图的最大匹配的匈牙利算法---POJ 1325 Machine Schedule

【基本概念】 二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集 U 和V ,使得每一条边都分别连接U、V中的顶点。如果存在这样的划分,则此图为一个二分图。 二分图的一个等价定义是:不含有「含奇数条边的环」的图。 ...
  • u011523762
  • u011523762
  • 2016-07-27 15:47
  • 408

poj1325 - Machine Schedule

想看更多的解题报告: http://blog.csdn.net/wangjian8006/article/details/7870410              &#...
  • wangjian8006
  • wangjian8006
  • 2012-09-10 15:11
  • 1116

匈牙利算法 -- Machine Schedule POJ - 1325

Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15974 Accepted: 6837 Description As we all know, machine sc...
  • weixin_39792252
  • weixin_39792252
  • 2018-01-31 17:04
  • 22

poj 1325 Machine Schedule(最小点覆盖即最大匹配,匈牙利算法)

题意: A机器有n个模式,B机器有m个模式,每个作业可以在任何机器的特定模式下工作,转换模式需要耗时,求最小耗时 思路: 把AB两机器的模式当成二分图顶点,模式之间的连线就是某个作业可以在该两个模式下工作,就转换成求最小点覆盖,用最少的点覆盖最多的边。 最小点覆盖=最大匹配  所以匈牙利算...
  • u014552756
  • u014552756
  • 2015-11-15 20:39
  • 241

poj 1325 Machine Schedule(最小顶点覆盖+最大匹配)

http://poj.org/problem?id=1325 题意:有AB两台机器和k个任务,机器A有n种模式,机器B有m种模式,初始均工作在模式0,每个任务都可以由机器A的一种模式或机器B的一种模式完成,每次切换模式都需要代价1,要求用最小的代价完成所有任务。 思路: A的n种模式和B的m种模...
  • u013081425
  • u013081425
  • 2014-01-19 09:00
  • 1623

poj 1325 Machine Schedule 二分图最小点覆盖=最大匹配

Description As we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history
  • kongming_acm
  • kongming_acm
  • 2011-09-21 09:01
  • 531

poj - 1325 - Machine Schedule(二分图最大匹配)

题意:A机器有n种作业模式,B机器有m种作业模式,任务i可由A的x模式完成,也可由B的y模式完成,开始时A、B都处在模式0,每切换一种模式都要重启一次机器,问完成k项任务最少需要重启几次机器。 题目链接:http://poj.org/problem?id=1325 ——>>将模式看成点,...
  • SCNU_Jiechao
  • SCNU_Jiechao
  • 2013-04-03 01:04
  • 646

POJ 1325 && 1274:Machine Schedule 匈牙利算法模板题

Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12976   Accepted: 5529 Descript...
  • u010885899
  • u010885899
  • 2015-08-11 09:42
  • 369

POJ 1325 Machine Schedule

题意: 有两台机器A,B,A机器有n种模式,B机器有m种模式,有k个作业,每个作业可以通过A的某个模式来做也可以通过B的某个模式来做,AB两台机器切换模式需要重启,求最小的重启次数。 解法:A,B其实是二分图的两个点集合,可以写同一个作业的两个模式连一条边,这里是求最小点覆盖,最小点覆盖等于最大匹...
  • youthinkwu
  • youthinkwu
  • 2015-04-25 23:39
  • 142

POJ 1325 Machine Schedule (最小点覆盖 && 二分图最大匹配)

鏈接: http://poj.org/problem?id=1325 Description As we all know, machine scheduling is a very classical problem in computer science and has been...
  • u012823258
  • u012823258
  • 2014-10-18 15:05
  • 725
    个人资料
    • 访问:174389次
    • 积分:4858
    • 等级:
    • 排名:第6990名
    • 原创:314篇
    • 转载:9篇
    • 译文:0篇
    • 评论:75条
    最新评论