POJ 1325 Machine Schedule
来源:互联网 发布:非嵌入式软件即征即退 编辑:程序博客网 时间:2024/05/16 09:31
题意: 有两台机器A,B,A机器有n种模式,B机器有m种模式,有k个作业,每个作业可以通过A的某个模式来做也可以通过B的某个模式来做,AB两台机器切换模式需要重启,求最小的重启次数。
解法:A,B其实是二分图的两个点集合,可以写同一个作业的两个模式连一条边,这里是求最小点覆盖,最小点覆盖等于最大匹配,跑一遍最大匹配就是答案了。
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;bool g[110][310];bool flag,visit[310];int match[310];int p,n;bool dfs(int u){ for (int i = 1; i < n; ++i) { if (g[u][i] && !visit[i]) { visit[i] = true; if (match[i] == -1 || dfs(match[i])) { match[i] = u; return true; } } } return false;}int main(){ int k; while(~scanf("%d",&p)) { if(p == 0) return 0; scanf("%d%d",&n,&k); memset(g,false,sizeof(g)); memset(match,-1,sizeof(match)); for(int i = 0; i < k; i++) { int x,u,v; scanf("%d%d%d",&x,&u,&v); g[u][v] = true; } int ans = 0; for(int i = 1; i < p; i++) { memset(visit,false,sizeof(visit)); if(dfs(i)) ans ++; } printf("%d\n",ans); } return 0;}
0 0
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- poj 1325 Machine Schedule
- Poj 1325 Machine Schedule
- POJ 1325-Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ-1325-Machine Schedule
- poj 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- POJ 1325 Machine Schedule
- poj 1325 Machine Schedule
- poj 1325 Machine Schedule
- POJ 1325 Machine Schedule
- 黑马程序员------JAVA入门基础
- 华为机试-01背包问题(递归)
- kendo listview 从服务器读取数据时加载菊花图(loading...)解决方案.
- 菜鸟学堂之不传秘术:应用程序无法启动,因为应用程序的并行配置不正确]这个问题的实际解决办法
- SWFupload在IE9中选择文件按钮无法点击bug解决方法
- POJ 1325 Machine Schedule
- NET WORK
- 更改状态栏颜色
- 使用InternetOpenUrl挂起的一个解决方案
- struts2 OGNL ValueStack概念理解 # % $ 的区别
- IOS7之后的导航栏遮盖问题
- C++队列数组实现
- IO、关键字与异常系统总结
- TRANSFORM_TEX