poj 1149 PIGS_网络流
- #include<iostream>
- #include<queue>
- #include<cstdio>
- #include<cstring>
- using namespace std;
- #define INF 0xfffffff
- #define mMax 1010
- #define nMax 110
- int cap[nMax][nMax],flow[nMax][nMax];
- int pre[nMax],dist[nMax];
- int Edmonds_Karp(int sta,int end){
- int i,curr,max=0;
- memset(flow,0,sizeof(flow));
- while(1){
- memset(pre,0,sizeof(pre));
- memset(dist,0,sizeof(dist));
- queue<int> q;
- q.push(sta);
- dist[sta]=INF;
- pre[sta]=sta;
- while(!q.empty()){
- curr=q.front();
- q.pop();
- for(i=0;i<=end;i++)
- if(!dist[i]&&flow[curr][i]<cap[curr][i]){
- dist[i]=min(dist[curr],cap[curr][i]-flow[curr][i]);
- pre[i]=curr;
- q.push(i);
- }
- }
- if(dist[end]==0)
- break;
- for(i=end;i!=sta;i=pre[i]){
- curr=pre[i];
- flow[curr][i]+=dist[end];
- flow[i][curr]-=dist[end];
- }
- max+=dist[end];
- }
- return max;
- }
- int main(){
- int m,n,k,i,j,key;
- int pighouse[mMax]={0};
- int visit[mMax]={0};
- memset(cap,0,sizeof(cap));
- scanf("%d%d",&m,&n);
- for(i=1;i<=m;i++)
- scanf("%d",&pighouse[i]);
- for(i=1;i<=n;i++){
- scanf("%d",&k);
- for(j=1;j<=k;j++){
- scanf("%d",&key);
- if(!visit[key])
- cap[0][i]+=pighouse[key];
- else
- cap[visit[key]][i]=INF;
- visit[key]=i;
- }
- scanf("%d",&key);
- cap[i][n+1]=key;
- }
- printf("%d\n",Edmonds_Karp(0,n+1));
- return 0;
- }
poj 1149 PIGS_网络流的更多相关文章
- poj 1149 Pigs 网络流-最大流 建图的题目(明天更新)-已更新
题目大意:是有M个猪圈,N个顾客,顾客要买猪,神奇的是顾客有一些猪圈的钥匙而主人MIRKO却没有钥匙,多么神奇?顾客可以在打开的猪圈购买任意数量的猪,只要猪圈里有足够数量的猪.而且当顾客打开猪圈后mi ...
- poj 1149经典网络流构图
题意:m个猪圈,n个客户,每个客户给出选则猪圈的钥匙和需要购买猪的个数,其中每次客户购买时客户选则的猪圈数量可以相互更换,问最大购买数量. 思路:以客户作为除源点汇点之外的点,然后对于每个猪圈从源点连 ...
- 网络流 A - PIGS POJ - 1149 最大流
A - PIGS POJ - 1149 这个题目我开始感觉很难,然后去看了一份题解,写的很好 https://wenku.baidu.com/view/0ad00abec77da26925c5b01c ...
- AC日记——pigs poj 1149
POJ - 1149 思路: 最大流: 代码: #include <cstdio> #include <cstring> #include <iostream> # ...
- POJ 1149 PIGS(Dinic最大流)
PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20738 Accepted: 9481 Description ...
- 网络流相关知识点以及题目//POJ1273 POJ 3436 POJ2112 POJ 1149
首先来认识一下网络流中最大流的问题 给定一个有向图G=(V,E),把图中的边看做成管道,边权看做成每根管道能通过的最大流量(容量),给定源点s和汇点t,在源点有一个水源,在汇点有一个蓄水池,问s-t的 ...
- POJ 1149 PIGS ★(经典网络流构图)
[题意] 有M个猪圈,每个猪圈里初始时有若干头猪.一开始所有猪圈都是关闭的.依 次来了N个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪.每 个顾客分别都有他能够买的数量的上限.每个顾客走后, ...
- POJ 1149:PIGS 网络流经典题
PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18345 Accepted: 8354 Description ...
- PIGS POJ - 1149网络流(最短增广路---广搜) + 建图
题意: 第一行输入m和n,m是猪圈的数量,n是顾客的数量,下面n行 第 i+1行表示第i个顾客 , 输入第一个数字表示有几把猪圈的钥匙,后面输入对应的猪圈,最后一个数字输入顾客想买几头猪. 建图: 设 ...
随机推荐
- C#开发SQLServer的Geometry和Geography存储
原文:C#开发SQLServer的Geometry和Geography存储 SQL Server2008推出后最大的变化就是提供了支持空间数据存储的Geometry和Geography,这个也是如果将 ...
- .net 反编译利器 dnspy
Binaries Latest release: https://github.com/0xd4d/dnSpy/releases Latest build (possibly unstable): h ...
- 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发
快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...
- ZOJ3578(Matrix)
Matrix Time Limit: 10 Seconds Memory Limit: 131072 KB A N*M coordinate plane ((0, 0)~(n, m)). I ...
- 网站服务器、VPS和虚拟主机的联系与区别
网站服务器是指在互联网数据中心中存放网站的服务器.主要用于网站的互联网中的发布.应用,是网络应用的基础硬件设施.简单的说服务器就是一台电脑,只是这台电脑因为要24 小时高速运行,所以配置要比一般的家 ...
- [转]Traceroute网络排障实用指南(1)
注:本文是同事的大作,虽是翻译的一篇英文PPT,但内容实在精彩,小小的Traceroute竟包含如此大的信息量,真是让人感慨!内容不涉及公司机密,所以一直想转到自己的Blog上来,自己需要时可以再翻阅 ...
- 关于map与set的一点理解;
set代码: #include<stdio.h> #include<set> using namespace std; int main(){ set<int>m; ...
- toj2867 Picking Problem
题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=2867 题目大意:给定一系列活动的开始时间和结束时间,问最多能参加的活动数目 思路:// 本题属于最大区间调 ...
- Linux下的压缩zip,解压缩unzip命令具体解释及实例
实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...
- 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 ...