<题目链接>

题目大意:
给出 n 个点,其中包括 np个发电站,nc 个消费者, 剩下的全部都是中转点,再给出 这些点中的m 条边,代表这两点间的最大传输电量,并且给出发电站的最大发送电量,以及消费者的最大承受电量,求所有消费者所能得到的最大电量。

解题分析:
本题发电站可以看成源点,消费者看成汇点,由于可能有多个源点和汇点,因此我们可以建立一个超级源点和超级汇点,超级源点与所有发电站直接相连,容量为每个发电站的最大容量,超级汇点与所有消费者相连,容量为每个消费者的最大容量。

#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;

int n,m,np,nc,s,e;
][];
],pre[];
bool bfs(){
    memset(vis,,sizeof(vis));
    memset(pre,,sizeof(pre));
    vis[s]=;
    queue<int>q;
    q.push(s);
    while(!q.empty()){
        int now=q.front();
        q.pop();
        if(now==e)return true;
        ;i<=n+;i++){
            if(!vis[i]&&mpa[now][i]){
                q.push(i);
                vis[i]=;
                pre[i]=now;
            }
        }
    }
    return false;
}
int Max_flow(){
    ;
    while(true){
        if(!bfs())return ans;
        int mn=0x3f3f3f3f;
        for(int i=e;i!=s;i=pre[i]){
            mn=min(mn,mpa[pre[i]][i]);
        }
        for(int i=e;i!=s;i=pre[i]){
            mpa[pre[i]][i]-=mn;
            mpa[i][pre[i]]+=mn;
        }
        ans+=mn;
    }
}
/*--以上是Ek算法模板--*/
int main(){
    while(scanf("%d%d%d%d",&n,&np,&nc,&m)!=EOF){
        memset(mpa,,sizeof(mpa));
        ;i<=m;i++){
            int a,b,c;
            /*
            scanf("%s",ss);
            sscanf(ss,"(%d,%d)%d",&a,&b,&c);
            map[a][b]=c;               //也可以用这种方法输入
            */
            while(getchar()!='(');     //注意这里的输入格式,也可以用cin简化输入
            scanf("%d,%d)%d",&a,&b,&c);
            mpa[a][b]+=c;
        }
        while(np--){
            int a,b;
            while(getchar()!='(');
            scanf("%d)%d",&a,&b);
            mpa[n][a]=b;
        }
        while(nc--){
            int a,b;
            while(getchar()!='(');
            scanf("%d)%d",&a,&b);
            mpa[a][n+]=b;
        }
        s=n,e=n+;
        printf("%d\n",Max_flow());
    }
    ;
}

2018-09-29

POJ 1459 - Power Network 【Ek-最大流】的更多相关文章

  1. POJ 1459 Power Network(网络流 最大流 多起点,多汇点)

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 22987   Accepted: 12039 D ...

  2. POJ - 1459 Power Network(最大流)(模板)

    1.看了好久,囧. n个节点,np个源点,nc个汇点,m条边(对应代码中即节点u 到节点v 的最大流量为z) 求所有汇点的最大流. 2.多个源点,多个汇点的最大流. 建立一个超级源点.一个超级汇点,然 ...

  3. POJ 1459 Power Network(网络最大流,dinic算法模板题)

    题意:给出n,np,nc,m,n为节点数,np为发电站数,nc为用电厂数,m为边的个数.      接下来给出m个数据(u,v)z,表示w(u,v)允许传输的最大电力为z:np个数据(u)z,表示发电 ...

  4. POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流)

    POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Networ ...

  5. poj 1459 Power Network

    题目连接 http://poj.org/problem?id=1459 Power Network Description A power network consists of nodes (pow ...

  6. 2018.07.06 POJ 1459 Power Network(多源多汇最大流)

    Power Network Time Limit: 2000MS Memory Limit: 32768K Description A power network consists of nodes ...

  7. 网络流--最大流--POJ 1459 Power Network

    #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #incl ...

  8. poj 1459 Power Network : 最大网络流 dinic算法实现

    点击打开链接 Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 20903   Accepted:  ...

  9. poj 1459 Power Network【建立超级源点,超级汇点】

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 25514   Accepted: 13287 D ...

  10. POJ 1459 Power Network 最大流(Edmonds_Karp算法)

    题目链接: http://poj.org/problem?id=1459 因为发电站有多个,所以需要一个超级源点,消费者有多个,需要一个超级汇点,这样超级源点到发电站的权值就是发电站的容量,也就是题目 ...

随机推荐

  1. Confluence 6 查看索引和提示

    查看索引 Confluence 使用被称为 Lucene 的搜索引擎.如果你希望在你的 Confluence站点中查看更多有关索引的细节,你可以下载并且运行 Luke.Luke 是一个开发和诊断工具, ...

  2. Confluence 6 用户目录图例 - 使用 LDAP 授权,在用户第一次登陆时拷贝用户

    上面的图:Confluence 连接到一个 LDAP 目录只用作授权,当用户登录 Confluence 的时候,使用 LDAP 授权并且将用户信息同步到本地路服务器上. https://www.cwi ...

  3. iOS ibeacon 使用详解

    前段时间写项目,设计到了通过蓝牙ibeacon 的方式接收数据,最开始自己都之前都没听过什么叫ibeacon,然后就开始查资料,慢慢的也了解并知道了ibeacon怎么使用了.先大概解释下ibeacon ...

  4. Happiness

    1575: Happiness 时间限制: 1 Sec  内存限制: 1280 MB 题目描述 Chicken brother is very happy today, because he atta ...

  5. trade war

    问题 C: trade war 时间限制: 1 Sec  内存限制: 128 MB 题目描述 2018年的春天,特朗普这个不靠谱的的家伙悍然向中国发起了贸易战,贸易战是一场没有赢家的战争,美国向中国商 ...

  6. sass方式实现颜色平铺(红色--->紫色)

    <!DOCTYPE html><html lang="en"><head> <link rel="stylesheet" ...

  7. C++ Primer 笔记——IO类

    1.C++语言并未定义任何输入输出语句,取而代之,包含了一个全面的标准库来提供IO机制. 由上图能够知道,I/O操作的基类是ios_base,各个类的用途例如以下: <iostream> ...

  8. Ubuntu下Gradle环境配置

    sudo gedit ~/.profile sudo source ~/.profile env # for java export JAVA_HOME=/home/cmm/jdk export CL ...

  9. Entity Framework介绍

    1.Entity Framework介绍 下图显示EF整体架构.现在我们来看看架构的各个组件: EDM(Entity Data Model): EDM由三个主要部分组成:概念模型,映射和存储模型.映射 ...

  10. exshop第6天

    发现grails mongodb插件中的一个BUG并进行了提交,grails项目管理人员还进行了回复,主要是配置failOnError 后不起作用了,不过项目负责人还是确认了这个问题,估计会比较快的解 ...