题意:给定一些散列的源点会汇点,求解网络流。

代码如下:

#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;const int INF = 0x3fffffff;
const int SS = 105, TT = 106;
int n, np, nc, m;struct Edge {int v, c, next;
};
Edge e[100000];
int idx, head[110];
int front, tail, que[110];
int lv[110];void insert(int a, int b, int c) {e[idx].v = b, e[idx].c = c;e[idx].next = head[a];head[a] = idx++;
}void read_3(int &a, int &b, int &c) {char ch;while (ch = getchar(), ch != '(') ;scanf("%d,%d)%d", &a, &b, &c);
//    printf("%d %d %d\n", a, b, c);
}void read_2(int &a, int &c) {char ch;while (ch = getchar(), ch != '(') ;scanf("%d)%d", &a, &c);
//    printf("%d %d\n", a, c);
}bool bfs() {memset(lv, 0xff, sizeof (lv));front = tail = 0;lv[SS] = 0;que[tail++] = SS;while (front < tail) {int u = que[front++];for (int i = head[u]; i != -1; i = e[i].next) {if (!(~lv[e[i].v]) && e[i].c) {lv[e[i].v] = lv[u] + 1;if (e[i].v == TT) return true;que[tail++] = e[i].v;}}}return ~lv[TT];
}int dfs(int u, int sup) {if (u == TT) return sup;int tf = 0, f;for (int i = head[u]; i != -1; i = e[i].next) {if (lv[u]+1==lv[e[i].v] && e[i].c && (f=dfs(e[i].v, min(e[i].c, sup-tf)))) {tf += f;e[i].c -= f, e[i^1].c += f;if (tf == sup) return sup;    }}if (!tf) lv[u] = -1;return tf;
}int dinic() {int ret = 0;while (bfs()) {ret += dfs(SS, INF);//    printf("ret = %d\n", ret);
    }return ret;
}int main() {int a, b, c;while (scanf("%d %d %d %d", &n, &np, &nc, &m) != EOF) {idx = 0;memset(head, 0xff, sizeof (head));for (int i = 0; i < m; ++i) { // m条边
            read_3(a, b, c);insert(a, b, c);insert(b, a, 0);}for (int i = 0; i < np; ++i) {read_2(a, c);insert(SS, a, c);insert(a, SS, 0);}for (int i = 0; i < nc; ++i) {read_2(a, c);insert(a, TT, c);insert(TT, a, 0);}printf("%d\n", dinic());}return 0;
} 

转载于:https://www.cnblogs.com/Lyush/archive/2013/04/30/3052382.html

POJ-1459 Power Network 网络流相关推荐

  1. POJ - 1459 Power Network(网络流-最大流)

    题目链接:点击查看 题目大意:题意属实恶心,借用别的大佬的题意: 题目描述 一个电网包含一些结点(电站.消费者.调度站),这些结点通过电线连接.每个结点 uu 可能被供给 s(u) 的电能, s(u) ...

  2. POJ 1459 -- Power Network(最大流, 建图)

    题目链接 Description A power network consists of nodes (power stations, consumers and dispatchers) conne ...

  3. 初涉网络流 POJ 1459 Power Network

    怒搞一下午网络流,又去我一块心病. 从2F到SAP再到Dinic最终过掉了. 但是书上说Dinic的时间复杂度为v*v*e.感觉也应该超时的啊,但是过掉了,好诡异. 后两种算法都是在第一种的基础上进行 ...

  4. POJ 1459 Power Network

    题意:有n个据点,np个发电机.nc个用户,m条电线.给出发电机.用户.电线的电流限制,求最大网络电流. 这是带节点的网络流.事实上和原来没什么差别,仅仅要在前后都添加一个据点,在这里我加了0和n+1 ...

  5. poj pku图论、网络流入门题总结、汇总

    poj pku图论.网络流入门题总结.汇总 分类: acm图论 2010-08-25 18:49 243人阅读 评论(0) 收藏 举报 网络算法networkgraphconstructioninte ...

  6. Poj(1459),最大流,EK算法

    题目链接:http://poj.org/problem?id=1459 Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Su ...

  7. 【POJ - 1459】Power Network(网络流最大流,建图)

    题干: A power network consists of nodes (power stations, consumers and dispatchers) connected by power ...

  8. Power Network POJ - 1459(EK算法模板+详解)

    题意: 总共有a个节点,其中有发电站b个.用户c个和调度器a-b-c个三种节点,每个发电站有一个最大发电量,每个用户有个最大接受电量,现在有d条有向边,边有一个最大的流量代表,最多可以流出这么多电,现 ...

  9. [Poj 1459] 网络流(一) {基本概念与算法}

    { 凸包的内容还欠整理 先来侃侃一个月以前就想写写的网络流 本文介绍网络流 网络流的算法 及其应用 这些问题没事想想还是很有意思的 } ================================ ...

最新文章

  1. 拿haojava官方过程
  2. 2020-09-21C++学习笔记之与C语言区别和加强——四种const意义(const int a; int const b; const int *c; int * const d)
  3. CentOS 6.7安装ZooKeeper 3.4.9
  4. opencv-python 图像最小外接矩形
  5. 给定a、b两个文件,各存放50亿个url,每个url各占64字节
  6. 在word中的公式以代码形式体现在web上的方法
  7. IOS 为UILabel添加长按复制功能
  8. HTTP Status 404 -(tomcat,springmvc,ModelAndView)
  9. java.lang.Class.isPrimitive()用法解析
  10. Aplication的意义和生命周期,与Context的关系,以及关于Aplication和Context相关问题的记录和解决办法...
  11. 2021,前方路艰,与君共勉
  12. css+div页面布局详解(三)
  13. CRMEB 【Java版】单商户商城系统v1.4.1
  14. 移动支付变巨头掘金地,银盒子手握SaaS成新宠
  15. JavaScript 内置对象
  16. C语言——简单图形打印学习
  17. 石狮子吃了四十四个涩柿子
  18. FORTIFY_SOURCE详解
  19. English trip 自习内容 句子结构和成分
  20. 【spring】切入点(Pointcut)、方面/切面(Aspect、Advisor)详解

热门文章

  1. java token生成和验证_java生成定长度的随机验证码
  2. 金融业如何更好地利用大数据实现突破性变革?(实例解读)
  3. 告别运营怪圈,不做“背锅侠+加班狗+低薪族”!
  4. 四川航空签约神策数据,航司沉淀数据价值
  5. C# winfrom 通过代码 删除TableLayoutPanel控件的一行或列
  6. [BZOJ] 3191 [JLOI2013]卡牌游戏
  7. 应用交付:从技术到服务
  8. LVS负载均衡基础总结
  9. 桌面虚拟化最佳实践4—存储规划(下)
  10. 如果你的船不进来,就游出去迎接它 乔纳森温特斯