摘要: 该题题义是这样的,有N台机器安排去组装电脑,每台电脑有P个零部件,一台可以出产的电脑必须要求每个部件都有。每台机器能够接受的本成品电脑不同,对于每个部件,输入数据给出了0(一定不能够在半成品上出现),1(一定要在上面出现),2(可以出现也可以不出现)。每台机器生产出来的半成品(或者成为了成品)的情况也有不同,对于每个部件0代表经过这个机器加工后,该号不见没有,相反,1代表有。 由于每台机器的处理能力有限,所以这里要将点拆成边,点内的边赋值为产能,其他边均赋值为无穷大。对部件没有要求的机器为源点,对部件都有要求的机器为汇点。考虑好机器与机器之间的传递关系,建图后直接计算最大流,最后在遍历两... 阅读全文
posted @ 2012-07-03 12:49 沐阳 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 题中给出了各种点的定义,其实我们只要建立两个虚拟节点就可以了。一个是源点流到所有的p点,一个是汇点,所有的c点流过去,再求最大流就可以了。当然题中的输入数据比较恶心,这里用了字符串的处理方式来解决。 代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>#include <queue>#define S N#define T (N+1)#define INF 0x3fffffff#define MAXN 105using namesp 阅读全文
posted @ 2012-07-03 10:20 沐阳 阅读(245) 评论(0) 推荐(0) 编辑