博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zdlzxg
阅读量:5322 次
发布时间:2019-06-14

本文共 1609 字,大约阅读时间需要 5 分钟。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
#define maxn 1007
#define inf 999999999
#define min(x,y) x<y?x:y
int n,m,temp;
int next[maxn],pre[maxn],cap[maxn],to[maxn],vis[maxn];
inline int RD()
{
char ch;
int res=0;
ch=getchar();
while(ch>'0'||ch<'0')ch=getchar();
res=ch-'0';
while((ch=getchar()<='9')&&ch>='0')res=res*10+ch-'0';
return res;
}
inline void addedge(int x,int y,int val)
{
static int counter=0;
next[++counter]=pre[x];pre[x]=counter;cap[counter]=val;to[counter]=y;
next[++counter]=pre[y];pre[y]=counter;cap[counter]=val;to[counter]=x;
}
int bfs(int src,int des)
{
queue<int> Q;
while(!Q.empty())Q.pop();
Q.push(src);
while(!Q.empty())
{
int x=Q.front();Q.pop();
if(x==des)return 1;
for(int i=pre[i];i;i=next[i])
{
int y=to[i];
if(cap[i]>0&&!vis[i])
vis[i]=vis[x]+1,Q.push(y);
}
}
return 0;
}
void work(int x,int y,int temp)
{
for(int i=pre[x];i;i=next[i])
if(to[i]==y)cap[i]-=temp;
for(int i=pre[y];i;i=next[i])
if(to[i]==x)cap[i]+=temp;
}
int dfs(int src,int des)
{
int ans=inf,temp;
for(int i=pre[src];i;i=next[i])
{
if(cap[i]&&vis[to[i]]==vis[src]+1&&(temp=dfs(to[i],des)))
{
work(src,to[i],temp);
ans=min(temp,ans);
}
}
if(ans!=inf)return ans;
return 0;
}
int dinic(int src,int des)
{
int ans=0;
while(bfs(src,des))
{
ans+=dfs(src,des);
}
return ans;
}
int main()
{
n=RD(),m=RD();
for(int i=1;i<=n;i++)
for(int j=1;j<=m-1;j++)
temp=RD(),addedge((i-1)*m+j,(i-1)*m+1+j,temp);
for(int i=1;i<=n-1;i++)
for(int j=1;j<=m;j++)
temp=RD(),addedge((i-1)*m+j,i*m+j,temp);
printf("%d ",dinic(1,n*m));
}

转载于:https://www.cnblogs.com/OcahIBye/p/6798730.html

你可能感兴趣的文章
Angular实践----理解数据绑定过程
查看>>
sublime快捷键
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Hyper-V Centos7 网络设置 虚拟机固定IP
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(31):画刷 转:http://blog.csdn.net/tcjiaan/article/details/7460226
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
记Angular与Django REST框架的一次合作(2):前端组件化——Angular
查看>>
08.存储Cinder→5.场景学习→08.Backup Volume→1.概述与配置
查看>>
进阶之路(基础篇) - 012 Arduino IDE 添加DHT11传感器第三方库的方法
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
spring11----基于Schema的AOP
查看>>
解决input框自动填充为黄色的问题
查看>>
音视频基础知识(一)
查看>>
CyclicBarrier的使用
查看>>
小程序开发笔记
查看>>
Web框架高级功能之模板、拦截器、Json、打包
查看>>