zoukankan      html  css  js  c++  java
  • poj 1273

    网络流最基础的题目,最大流

    #include <iostream>
    #include <cstring>
    #include <queue>
    using namespace std;
    const int maxn=210;
    const int inf=1<<30;
    int cap[maxn][maxn],flow[maxn][maxn],d[maxn];
    int n,m,tot;
    void ek()
    {
    	int q[maxn],p[maxn],i;
    	int front,rear;
    	for(;;)
    	{
    		memset(d,0,sizeof(d));
    		front=rear=0;
    		q[rear++]=1;
    		d[1]=inf;
    		while(rear-front>0)
    		{
    			int u=q[front];
    			for(i=1;i<=m;i++)
    			{
    				if(!d[i]&&cap[u][i]>flow[u][i])
    				{
    					p[i]=u;
    					q[rear++]=i;
    					d[i]=d[u]>(cap[u][i]-flow[u][i])?(cap[u][i]-flow[u][i]):d[u]
    						;
    				}
    			}
    			front++;
    		}
    		if(!d[m]) break;
    		int tem;
    		for(tem=m;tem!=1;tem=p[tem])
    		{
    			flow[p[tem]][tem]+=d[m];
    			flow[tem][p[tem]]-=d[m];
    		}
    		tot+=d[m];
    	}
    	return;
    }
    int main()
    {
    	while(cin>>n>>m)
    	{
    		int i,u,v,f;
    		tot=0;
    		memset(cap,0,sizeof(cap));
    		memset(flow,0,sizeof(flow));
    		for(i=0;i<n;i++)
    		{
    			cin>>u>>v>>f;
    			cap[u][v]+=f;
    		}
    		ek();
    		cout<<tot<<endl;
    	}
    	return 0;
    }
    


  • 相关阅读:
    JVM和HotSpot
    java中的四种引用类型
    垃圾回收与算法
    Full GC
    JVM内存结构
    事务不同的隔离级别实现原理
    事务的隔离级别
    jQuery后续和 前端框架Bootstrap
    jQuery
    BOM和DOM操作
  • 原文地址:https://www.cnblogs.com/lj030/p/3002290.html
Copyright © 2011-2022 走看看