1. #include<iostream>
  2. #include<queue>
  3. #include<cstdio>
  4. #include<cstring>
  5. using namespace std;
  6. #define INF 0xfffffff
  7. #define mMax 1010
  8. #define nMax 110
  9. int cap[nMax][nMax],flow[nMax][nMax];
  10. int pre[nMax],dist[nMax];
  11. int Edmonds_Karp(int sta,int end){
  12. int i,curr,max=0;
  13. memset(flow,0,sizeof(flow));
  14. while(1){
  15. memset(pre,0,sizeof(pre));
  16. memset(dist,0,sizeof(dist));
  17. queue<int> q;
  18. q.push(sta);
  19. dist[sta]=INF;
  20. pre[sta]=sta;
  21. while(!q.empty()){
  22. curr=q.front();
  23. q.pop();
  24. for(i=0;i<=end;i++)
  25. if(!dist[i]&&flow[curr][i]<cap[curr][i]){
  26. dist[i]=min(dist[curr],cap[curr][i]-flow[curr][i]);
  27. pre[i]=curr;
  28. q.push(i);
  29. }
  30. }
  31. if(dist[end]==0)
  32. break;
  33. for(i=end;i!=sta;i=pre[i]){
  34. curr=pre[i];
  35. flow[curr][i]+=dist[end];
  36. flow[i][curr]-=dist[end];
  37. }
  38. max+=dist[end];
  39. }
  40. return max;
  41. }
  42. int main(){
  43. int m,n,k,i,j,key;
  44. int pighouse[mMax]={0};
  45. int visit[mMax]={0};
  46. memset(cap,0,sizeof(cap));
  47. scanf("%d%d",&m,&n);
  48. for(i=1;i<=m;i++)
  49. scanf("%d",&pighouse[i]);
  50. for(i=1;i<=n;i++){
  51. scanf("%d",&k);
  52. for(j=1;j<=k;j++){
  53. scanf("%d",&key);
  54. if(!visit[key])
  55. cap[0][i]+=pighouse[key];
  56. else
  57. cap[visit[key]][i]=INF;
  58. visit[key]=i;
  59. }
  60. scanf("%d",&key);
  61. cap[i][n+1]=key;
  62. }
  63. printf("%d\n",Edmonds_Karp(0,n+1));
  64. return 0;
  65. }

poj 1149 PIGS_网络流的更多相关文章

  1. poj 1149 Pigs 网络流-最大流 建图的题目(明天更新)-已更新

    题目大意:是有M个猪圈,N个顾客,顾客要买猪,神奇的是顾客有一些猪圈的钥匙而主人MIRKO却没有钥匙,多么神奇?顾客可以在打开的猪圈购买任意数量的猪,只要猪圈里有足够数量的猪.而且当顾客打开猪圈后mi ...

  2. poj 1149经典网络流构图

    题意:m个猪圈,n个客户,每个客户给出选则猪圈的钥匙和需要购买猪的个数,其中每次客户购买时客户选则的猪圈数量可以相互更换,问最大购买数量. 思路:以客户作为除源点汇点之外的点,然后对于每个猪圈从源点连 ...

  3. 网络流 A - PIGS POJ - 1149 最大流

    A - PIGS POJ - 1149 这个题目我开始感觉很难,然后去看了一份题解,写的很好 https://wenku.baidu.com/view/0ad00abec77da26925c5b01c ...

  4. AC日记——pigs poj 1149

    POJ - 1149 思路: 最大流: 代码: #include <cstdio> #include <cstring> #include <iostream> # ...

  5. POJ 1149 PIGS(Dinic最大流)

    PIGS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20738   Accepted: 9481 Description ...

  6. 网络流相关知识点以及题目//POJ1273 POJ 3436 POJ2112 POJ 1149

    首先来认识一下网络流中最大流的问题 给定一个有向图G=(V,E),把图中的边看做成管道,边权看做成每根管道能通过的最大流量(容量),给定源点s和汇点t,在源点有一个水源,在汇点有一个蓄水池,问s-t的 ...

  7. POJ 1149 PIGS ★(经典网络流构图)

    [题意] 有M个猪圈,每个猪圈里初始时有若干头猪.一开始所有猪圈都是关闭的.依 次来了N个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪.每 个顾客分别都有他能够买的数量的上限.每个顾客走后, ...

  8. POJ 1149:PIGS 网络流经典题

    PIGS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18345   Accepted: 8354 Description ...

  9. PIGS POJ - 1149网络流(最短增广路---广搜) + 建图

    题意: 第一行输入m和n,m是猪圈的数量,n是顾客的数量,下面n行 第 i+1行表示第i个顾客 , 输入第一个数字表示有几把猪圈的钥匙,后面输入对应的猪圈,最后一个数字输入顾客想买几头猪. 建图: 设 ...

随机推荐

  1. C#开发SQLServer的Geometry和Geography存储

    原文:C#开发SQLServer的Geometry和Geography存储 SQL Server2008推出后最大的变化就是提供了支持空间数据存储的Geometry和Geography,这个也是如果将 ...

  2. .net 反编译利器 dnspy

    Binaries Latest release: https://github.com/0xd4d/dnSpy/releases Latest build (possibly unstable): h ...

  3. 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...

  4. ZOJ3578(Matrix)

    Matrix Time Limit: 10 Seconds      Memory Limit: 131072 KB A N*M coordinate plane ((0, 0)~(n, m)). I ...

  5. 网站服务器、VPS和虚拟主机的联系与区别

     网站服务器是指在互联网数据中心中存放网站的服务器.主要用于网站的互联网中的发布.应用,是网络应用的基础硬件设施.简单的说服务器就是一台电脑,只是这台电脑因为要24 小时高速运行,所以配置要比一般的家 ...

  6. [转]Traceroute网络排障实用指南(1)

    注:本文是同事的大作,虽是翻译的一篇英文PPT,但内容实在精彩,小小的Traceroute竟包含如此大的信息量,真是让人感慨!内容不涉及公司机密,所以一直想转到自己的Blog上来,自己需要时可以再翻阅 ...

  7. 关于map与set的一点理解;

    set代码: #include<stdio.h> #include<set> using namespace std; int main(){ set<int>m; ...

  8. toj2867 Picking Problem

    题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=2867 题目大意:给定一系列活动的开始时间和结束时间,问最多能参加的活动数目 思路:// 本题属于最大区间调 ...

  9. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

  10. ubuntu WiFi: operation not possible due to RF-kill《转载》

    Some people have been experiencing WiFi problems with Ubuntu 10.10 since an update that happend just ...