标签:des style blog http color os strong io
解题报告
http://blog.csdn.net/juncoder/article/details/38147135
题意:
A机器有n个模式,B机器有m个模式,每个作业可以在任何机器的特定模式下工作,转换模式需要耗时,求最小耗时
思路:
把AB两机器的模式当成二分图顶点,模式之间的连线就是某个作业可以在该两个模式下工作,就转换成求最小点覆盖,用最少的点覆盖最多的边。
最小点覆盖=最大匹配
#include <queue>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int mmap[220][220],n,m,k,vis[220],pre[220];
int dfs(int x)
{
int i;
for(i=n;i<n+m;i++)
{
if(!vis[i]&&mmap[x][i])
{
vis[i]=1;
if(pre[i]==-1||dfs(pre[i]))
{
pre[i]=x;
return 1;
}
}
}
return 0;
}
int main()
{
int i,j,a,x,y;
while(cin>>n>>m>>k)
{
if(!n)break;
memset(pre,-1,sizeof(pre));
memset(mmap,0,sizeof(mmap));
for(i=0;i<k;i++)
{
cin>>a>>x>>y;
if(x*y!=0)
mmap[x][y+n]=1;
}
int ans=0;
for(i=0;i<n;i++)
{
memset(vis,0,sizeof(vis));
ans+=dfs(i);
}
cout<<ans<<endl;
}
}
| Time Limit: 1000MS | Memory Limit: 10000K | |
| Total Submissions: 11631 | Accepted: 4952 |
Description
Input
Output
Sample Input
5 5 10 0 1 1 1 1 2 2 1 3 3 1 4 4 2 1 5 2 2 6 2 3 7 2 4 8 3 3 9 4 3 0
Sample Output
3
POJ1325_Machine Schedule(二分图/最小点覆盖=最大匹配),布布扣,bubuko.com
POJ1325_Machine Schedule(二分图/最小点覆盖=最大匹配)
标签:des style blog http color os strong io
原文地址:http://blog.csdn.net/juncoder/article/details/38147135