hdu 3549 Flow Problem(简单网络流Dinic)
admin
2024-02-15 08:50:06
0

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3549

Flow Problem

Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 11114    Accepted Submission(s): 5271


 

Problem Description

Network flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.

Input

The first line of input contains an integer T, denoting the number of test cases.
For each test case, the first line contains two integers N and M, denoting the number of vertexes and edges in the graph. (2 <= N <= 15, 0 <= M <= 1000)
Next M lines, each line contains three integers X, Y and C, there is an edge from X to Y and the capacity of it is C. (1 <= X, Y <= N, 1 <= C <= 1000)

Output

For each test cases, you should output the maximum flow from source 1 to sink N.

Sample Input

 

2
3 2
1 2 1
2 3 1
3 3
1 2 1
2 3 1
1 3 1

Sample Output

 

Case 1: 1
Case 2: 2

分析:很简明的问题,就是求解最大流。

#include 
#include 
#include 
#include 
using namespace std;
const int N=20,INF=0x3f3f3f3f;
struct Dinic {int c[N][N], n, s, t, l[N], e[N];int flow(int maxf = INF) {int left = maxf;while (build()) left -= push(s, left);return maxf - left;}int push(int x, int f) {if (x == t) return f;int &y = e[x], sum = f;for (; y 0 && l[x]+1==l[y]) {int cnt = push(y, min(sum, c[x][y]));c[x][y] -= cnt;c[y][x] += cnt;sum -= cnt;if (!sum) return f;}return f-sum;}bool build() {int m = 0;memset(l, -1, sizeof(l));l[e[m++]=s] = 0;for (int i=0; i 0 && l[y]<0) l[e[m++]=y] = l[e[i]] + 1;memset(e, 0, sizeof(e));return l[t] >= 0;}
} net;
int main()
{//freopen("cin.txt","r",stdin);int ca=1,t,n,m,x,y,c;cin>>t;while(t--){scanf("%d%d",&n,&m);memset(net.c,0,sizeof(net.c));net.n=n;net.s=0;net.t=n-1;for(int i=0;i                
            

相关内容

热门资讯

全球首套,中天科技交付220k... IT之家 5 月 11 日消息,据中天科技集团消息,近日,中天科技交付全球首套 220kV 3500...
原创 北... 北京业主刚以488万的价格卖掉了自己的二手房,三天后宁愿付违约金,也要把房子拿回来。转手加价70多万...
“硬科技”场内基金频发溢价风险... 【导读】硬科技场内基金频发溢价风险提示 中国基金报记者天心 日前,多只聚焦海内外半导体芯片方向的场内...
伯希和再闯港股陷更名争议,CE... 5月8日,国内户外运动品牌伯希和(PELLIOT)再度向港交所递交上市申请,中金公司与中信证券担任联...
一季度货币政策报告明确:引导隔... 5月11日,人民银行披露一季度中国货币政策执行报告,指出下一步将引导隔夜利率在政策利率水平附近运行,...
科博会观察|能源转型的“下半场... 今年4月,光伏龙头隆基绿能发布“全栈隆基LONGi ONE”光储融合战略,这场发布会背后是公司对能源...
“茅台魔咒”失灵了?沪指站上4... 11日,沪指走出“八连阳”,站上4200点,创下自2015年6月26日以来的收盘点位新高。 板块方...
沪指涨0.94%站上4200点... 扬子晚报网5月11日讯(记者 范晓林)截至午盘,沪指站上4200点,创业板指大涨突破3900点,为2...
ETF周评:4200点之前,“... “五一”假期后的首个交易周(5月6日至5月8日),A股虽仅有短短三个交易日,却展现出强劲的做多动能。...
集智达GNS-2446主板赋能... 当前医疗自助终端面临四大行业痛点:多任务并发算力瓶颈;外设兼容集成难题;数据安全合规压力;复杂环境稳...
动荡市场中锚定稀缺确定性,新能... 3月以来,美伊冲突导致全球能源价格出现大幅波动。整体上看,本轮地缘冲突的复杂性和影响深度远超以往,加...
CFA协会:未来金融人才需具备... 由特许金融分析师协会(CFA协会)、北京市金融发展促进中心共同主办的2026第五届中国未来金融分析师...
最熟悉的“国民理财神器”,让你... 1万元放进余额宝,一天收益只有0.24元,连个鸡蛋都买不起。这不是某个冷门产品,而是那个曾创下6.7...
Circle从贝莱德等机构融资... 来源:环球市场播报 核心要点 Circle 互联网集团在其全新 Arc 区块链关联代币预售中融资...
张尧浠:美伊局势变数不断 金价... 来源:市场资讯 5月11日:黄金市场上周:国际黄金伦敦金触底回升收涨,再度收取垂线止跌看涨形态,但上...
中澳企业拓展新能源合作 来源:人民日报 2026年澳大利亚智慧能源展日前在悉尼国际会议中心举行。当前,中东局势引发全球能源...
七类技能培训“套路”曝光 中消... 记者今天(11日)从中消协获悉,近年来,各类技能培训迅速扩张,新型培训模式不断涌现,部分经营者借助新...
每日收评沪指涨超1%站上420... 财联社5月11日讯,市场全天震荡走强,沪指站上4200点,创业板指大涨突破3900点,为2015年6...
A股三大指数集体上涨:沪指站上... 观点网讯:5月11日,A股三大指数集体上涨,截至收盘,上证指数涨1.08%站上4200点,深证成指涨...