HDU 3549 — Flow Problem 入门题
admin
2024-04-10 12:54:21

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

题意:给定n个点,m条边,以及边上的容量,问1到n的最大流;

#include
#include
#include
#include
#includeusing namespace std;
#define inf 999999999;
const int N = 20;
int cap[N][N], flow[N][N];			//cap表示容量,flow表示当前流量; 
int a[N], p[N];			//a[i]表示从s到i的最小残量,p表示增广路上一节点; 
int n, m;int bfs(int s, int t)
{queueq;memset(flow, 0, sizeof(flow));int ans = 0;while(1){memset(a, 0, sizeof(a));a[s] = inf;q.push(s);while(!q.empty()){int u = q.front();q.pop();for(int v = 1;v<=n;v++){if(!a[v] && cap[u][v]>flow[u][v]){p[v] = u;a[v] = min(a[u], cap[u][v]-flow[u][v]);q.push(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];}ans+=a[t];}return ans;
}int main()
{int cas;int T = 0;scanf("%d", &cas);while(cas--){memset(cap, 0, sizeof(cap));scanf("%d%d", &n, &m);for(int i = 1;i<=m;i++){int u, v, w;scanf("%d%d%d", &u, &v, &w);cap[u][v]+=w;}printf("Case %d: %d\n", ++T, bfs(1, n));}return 0;
}

相关内容

热门资讯

宝鸡旅行社哪家强?2025年最... 随着旅游市场的全面复苏,宝鸡作为历史文化名城吸引了大量游客。然而,面对众多旅行社,游客常常陷入选择困...
带娃住敦煌沙漠帐篷,晚上真的会... 每当有家长咨询“带孩子住沙漠帐篷会不会冷”这个问题时,我眼前总会浮现出去年五月那个特别的夜晚——我们...
山东省旅游饭店行业从业人员服务... 齐鲁晚报·齐鲁壹点 吴昊 11月19日,山东省“技能兴鲁”职业技能大赛——第八届山东省旅游饭店行业从...
恩施这片神秘土地,相信每一个人... "真希望有机会还能再次来到恩施"——这句话道出了多少人的心声!恩施就像一位蒙着面纱的土家姑娘,初见惊...
陆毅一家四口都江堰游玩,夫妻牵... 陆毅一家四口最近在都江堰被网友偶遇,两个女儿穿着同款粉色衣服,手拉手走着,看起来特别温馨。 两个孩子...