poj1273

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
#define ll long long
const int maxn = 205; ll n,m;
ll G[maxn][maxn];
ll pre[maxn]; //记录路径
bool flag[maxn]; bool bfs(ll be,ll en)
{
queue<ll> q;
mem(pre,-1);
mem(flag,0); q.push(be);
flag[be]=1;
pre[be]=be; while(!q.empty())
{
ll front=q.front();
q.pop();
if(front==en)
return 1;
for(ll i=1;i<=n;i++)
{
if(!flag[i] && G[front][i]>0) //没有被标记并且可行流大于0
{
flag[i]=1;
pre[i]=front;
q.push(i);
}
}
}
return 0;
} ll EK(ll be,ll en)
{
ll sum=0,mi; while(bfs(be,en)) //找一条增广路径
{
mi=0x3f3f3f3f;
for(ll i=en;i!=be;i=pre[i]) //找最小边
{
mi=min(mi,G[pre[i]][i]);
}
for(ll i=en;i!=be;i=pre[i])
{
G[pre[i]][i]-=mi; //更新正向
G[i][pre[i]]+=mi; //更新反向
}
sum+=mi;
} return sum;
} int main()
{
while (scanf("%lld%lld",&m,&n)!=EOF)
{
mem(G,0);
ll x,y,z;
for(ll i=1;i<=m;i++)
{
scanf("%lld%lld%lld",&x,&y,&z);
G[x][y]+=z;
}
printf("%lld\n",EK(1,n));
}
return 0;
}

最新文章

  1. ios - NSTimer中target的self是强引用问题
  2. Interpolation in MATLAB
  3. iOS YSMine 通用设置
  4. Maven开发基础总结(Maven自启动,Maven打war包,Maven热部署)
  5. 脱离rails 使用Active Record
  6. Delphi下使用OpenOffice+JodConverter+SWFtools进行文件转换
  7. Spring学习总结二——SpringIOC容器二
  8. Swift的闭包(一):闭包简介、闭包表达式的优化
  9. Mysql获取去重后的总数
  10. 第3天:CSS浮动、定位、表格、表单总结
  11. ANTS Performance Profiler 8:支持对Web请求、异步代码和WinRT的性能剖析
  12. Python_字符串之删除空白字符或某字符或字符串
  13. redhad安装gcc问题---解决依赖问题
  14. Quartz.NET学习笔记(一) 简介
  15. Android 图片加载框架 Glide4.x
  16. 谈谈你对spring的理解?
  17. sqoop mysql导入hive 数值类型变成null的问题分析
  18. 联想x3650m5服务器安装windows2008R2系统
  19. LNK2022: 元数据操作失败(8013118D): 重复类型(FactoryContext)中的布局信息不一致: (0x02000230)
  20. 前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值

热门文章

  1. Hibenate面试
  2. (七) SpringBoot起飞之路-整合SpringSecurity(Mybatis、JDBC、内存)
  3. java普通对象和json字符串的互转
  4. MySQL 8.0 主从同步
  5. 高可用服务注册中心(Eureka-Cluster)
  6. 每日一题 - 剑指 Offer 45. 把数组排成最小的数
  7. 反射修改 static final 变量
  8. postman 进阶技巧
  9. ES2020的这些新功能令人期待
  10. JS基础知识点(一)