FZU - 2039 Pets (网络流最大流)
2014-11-23 18:23
393 查看
题意:
n只顾客,m个宠物,e种条件,条件表示顾客x不会买宠物y,每个顾客只买一只宠物。求最多卖出几只宠物
思路:网络流,建图如果客户x不买宠物y,就把那点边标记为0,否则标记为1,然后求该图的最大流。
n只顾客,m个宠物,e种条件,条件表示顾客x不会买宠物y,每个顾客只买一只宠物。求最多卖出几只宠物
思路:网络流,建图如果客户x不买宠物y,就把那点边标记为0,否则标记为1,然后求该图的最大流。
#include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; const int INF = 0x3f3f3f3f; const int N = 210; int cap ,flow ; int a ,p ; int n,m,e; int maxflow(int s,int t) { int f = 0; queue<int> que; memset(flow, 0, sizeof(flow)); while(true) { memset(a,0,sizeof(a)); a[s] = INF; que.push(s); while(!que.empty()) { int u = que.front(); que.pop(); for(int v = 0; v <= t; v++) { if(!a[v] && cap[u][v] > flow[u][v]) { p[v] = u; que.push(v); a[v] = min(a[u],cap[u][v] - flow[u][v]); } } } if(a[t] == 0) { break; } for(int u = t; u != s; u = p[u]) { flow[p[u]][u] += a[t]; flow[u][p[u]] -= a[t]; } f += a[t]; } return f; } void init() { memset(cap,0,sizeof(cap)); for(int u = 1; u <= n; u++) { for(int v = n+1; v <= n+m; v++) { cap[u][v] = 1; } } for(int v = 1; v <= n; v++) { cap[0][v] = 1; } int t = n + m + 1; for(int u = n+1; u <= n+m; u++) { cap[u][t] = 1; } } int main() { int T; int u,v; int cas = 1; scanf("%d",&T); while(T--) { scanf("%d%d%d",&n,&m,&e); init(); for(int i = 0; i < e; i++) { scanf("%d%d",&u,&v); v += n; cap[u][v] = 0; } int ans = maxflow(0, n + m + 1); printf("Case %d: %d\n",cas++,ans); } return 0; }
相关文章推荐
- fzu 2039 Pets(网络流最大流)
- fzu 2039 Pets(网络流)
- FZU 2039-Pets(二分图_最大匹配)
- fzu 2039 Pets (简单二分图 + (最大流 || 二分图))
- FZU 2039 Pets 二分图匹配
- FZU - 2039 Pets(二分图匹配/匈牙利算法)
- FZU 2039 pets
- FZU - 2039 Pets (二分图匹配 2011年全国大学生程序设计邀请赛(福州))
- FZU 2039 Pets【二分匹配】
- FZU 2039 Pets(二分匹配裸题)
- FZU - 2039 Pets (二分图匹配 2011年全国大学生程序设计邀请赛(福州))
- UVA 2039 Pets(网络流)
- POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流)
- fzu1844 Earthquake Damage (网络流 最大流最小割/ISAP)
- FZU 2011年全国大学生程序设计邀请赛(福州) 2039 Pets
- FZU 2039 Pets(匈牙利算法)
- FZU - 2039 Pets
- nyoj 489 哭泣天使 网络流 最大流 IASP
- 网络流入门--最大流算法Dicnic 算法
- POJ 1149 PIGS 【网络流建模汇总】最大流