博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1459 最大流
阅读量:4988 次
发布时间:2019-06-12

本文共 1026 字,大约阅读时间需要 3 分钟。

#include "stdio.h" //poj 1459 最大流#include "string.h"#include "queue"using namespace std;#define N 205#define INF 0x3fffffffint n;bool mark;int map[N][N],maxf[N],route[N];int EK();int BFS();void init();int MIN(int x,int y);int main(){	int i,j;	char ch;	int m,np,nc;	int u,v,w;	while(scanf("%d%d%d%d",&n,&np,&nc,&m)!=-1)	{		init();		while(m--)		{			scanf(" (%d,%d)%d",&u,&v,&w);			if(u==v) continue;			map[u+1][v+1] += w;		}		int start = 0;  //超级源点		while(np--)		{			scanf(" (%d)%d",&v,&w);			map[start][v+1] += w;		}		int end = n+1;  //超级汇点		while(nc--)		{			scanf(" (%d)%d",&u,&w);			map[u+1][end] += w;		}		int ans = EK();		printf("%d\n",ans);	}	return 0;}void init(){	memset(map,0,sizeof(map));	}int MIN(int x,int y) {	 return x
q; route[0] = 0; q.push(0); while(!q.empty()) { x = q.front(); q.pop(); for(y=0;y<=n+1;y++) { if(route[y]==-1 && map[x][y]!=0) { maxf[y] = MIN(maxf[x],map[x][y]); route[y] = x; q.push(y); } } } if(route[n+1]==-1) return 0; return maxf[n+1];}

转载于:https://www.cnblogs.com/ruo-yu/p/4411998.html

你可能感兴趣的文章
解决"disabled". Expected Boolean, got Number with value 0
查看>>
OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
查看>>
Exponentiation
查看>>
本地jar上传到本地仓库
查看>>
四则运算C++带Qt界面版本,吾王镇楼。。。。。
查看>>
安卓7.0手机拍照闪退问题解决
查看>>
ME525+ Defy+ 刷机指南[zz]
查看>>
支持触屏的jQuery轮播图插件
查看>>
差一点搞混了Transactional注解
查看>>
javascript基本函数
查看>>
前端公共库cdn服务推荐//提高加载速度/节省流量
查看>>
asp.net GridView多行表头的实现,合并表头
查看>>
C#套打
查看>>
PolyCluster: Minimum Fragment Disagreement Clustering for Polyploid Phasing 多聚类:用于多倍体的最小碎片不一致聚类...
查看>>
【每日进步】July 2012
查看>>
${sessionScope.user}的使用方法
查看>>
WCF开发框架形成之旅---结合代码生成工具实现快速开发
查看>>
Spring事务管理
查看>>
linux下mysql配置文件my.cnf详解
查看>>
08ssm三大框架整合以前步骤
查看>>