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

刚接触网络流,感觉有点难啊,只好先拿几道基础的模板题来练练手。

最大流的模板题。

 #include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
using namespace std; int n, m, flow;
int vis[];
//路径记录
int pre[];
//邻接表
int G[][]; void Maxflow()
{
for (;;)
{
memset(vis, , sizeof(vis));
memset(pre, , sizeof(pre));
queue<int> q;
q.push();
vis[] = ;
while (!q.empty())
{
int x = q.front();
q.pop();
//到达终点
if (x == n) break;
for (int i = ; i <= n; i++)
{
if (!vis[i] && G[x][i] > )
{
vis[i] = ;
q.push(i);
//记录好路径
pre[i] = x;
}
}
}
//没有找到增广路
if (!vis[n]) break;
int _min = ;
for (int i = n; i != ; i = pre[i])
_min = min(_min, G[pre[i]][i]);
for (int i = n; i != ; i = pre[i])
{
G[i][pre[i]] += _min;
G[pre[i]][i] -= _min;
}
flow += _min;
}
return;
} int main()
{
//freopen("D:\\txt.txt", "r", stdin);
int T;
int u, v, w;
cin >> T;
for (int kase = ; kase <= T; kase++)
{
cin >> n >> m;
memset(G, , sizeof(G));
for (int i = ; i < m; i++)
{
cin >> u >> v >> w;
G[u][v] += w;
}
flow = ;
Maxflow();
cout << "Case " << kase << ": " << flow << endl;
}
}

最新文章

  1. shader函数
  2. 支持向量机(SVM)算法的matlab的实现
  3. Poj 3683-Priest John&#39;s Busiest Day 2-sat,拓扑排序
  4. K - 计算球体积
  5. 方法覆盖(override)”的要点
  6. Server2008系统 FTP下载“当前的安全设置不允许”的解决方法
  7. sharepoint 创建个人网站
  8. TIMO后台管理系统-基于SpringBoot开发
  9. Android面试题集合
  10. Node.js API 初解读(三)
  11. SpringBoot打包不同配置profile
  12. phpStudy 切换版本后没有权限的问题
  13. 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK
  14. 解决MySQL5.7密码重置问题
  15. vscode调试angular
  16. 管理idea Open Recent
  17. 5月14日 绿城育华NOIP巨石杯试卷解析
  18. 【mybatis】多次查询缓存的问题
  19. nodejs(二)child_process模块
  20. Python语言库pyttsx3

热门文章

  1. ul li剧中对齐
  2. MySQL多线程备份工具:mydumper
  3. [LeetCode] 844. Backspace String Compare_Easy tag: Stack **Two pointers
  4. [LeetCode] 605. Can Place Flowers_Easy
  5. JSP—作用域
  6. YUV编码格式
  7. M2C的概念
  8. Impala与Hive的比较
  9. python的subprocess的简单使用和注意事项
  10. python import win32clipboard 报错DLL load failed: %1 不是有效的 Win32 应用程序。