#include<cstdio>
#include<iostream>
#include<cstring>
#define M 100009
#define inf 2139062143
using namespace std;
int n,m,S,tot,cnt=,T,ans,head[],d[],q[*M],next[*M],u[*M],v[*M],a[*M][];
bool bfs()
{
memset(d,,sizeof(d));
int h=,t=;
q[]=S;
d[S]=;
for(;h<t;)
{
h++;
int p=q[h];
for(int i=head[p];i;i=next[i])
if(!d[u[i]]&&v[i])
{
d[u[i]]=d[p]+;
if(d[T])
return ;
t++;
q[t]=u[i];
}
}
return ;
}
int dinic(int s,int f)
{
if(s==T)
return f;
int rest=f;
for(int i=head[s];i&&rest;i=next[i])
if(v[i]&&d[u[i]]==d[s]+)
{
int now=dinic(u[i],min(rest,v[i]));
if(!now)
d[u[i]]=;
v[i]-=now;
v[i^]+=now;
rest-=now;
}
return f-rest;
}
void jia1(int a1,int a2,int a3)
{
cnt++;
next[cnt]=head[a1];
head[a1]=cnt;
u[cnt]=a2;
v[cnt]=a3;
return;
}
void jia(int a1,int a2,int a3)
{
jia1(a1,a2,a3);
jia1(a2,a1,);
return;
}
int main()
{
int s;
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
scanf("%d%d%d",&a[i][],&a[i][],&a[i][]);
scanf("%d%d%d",&S,&T,&s);
cnt=;
memset(head,,sizeof(head));
for(int i=;i<=m;i++)
if(a[i][]>s)
{
jia(a[i][],a[i][],);
jia(a[i][],a[i][],);
}
for(;bfs();)
ans+=dinic(S,inf);
cnt=;
memset(head,,sizeof(head));
for(int i=;i<=m;i++)
if(a[i][]<s)
{
jia(a[i][],a[i][],);
jia(a[i][],a[i][],);
}
for(;bfs();)
ans+=dinic(S,inf);
printf("%d\n",ans);
return ;
}

两遍网络流,把比他小的边建起来,最大流就是要删的边数,最大生成树同理。

最新文章

  1. CSS魔法堂:你真的懂text-align吗?
  2. 手动创建VS单元测试,显示代码覆盖率
  3. MyBatis使用总结+整合Spring
  4. AppWidgetProvider生命周期
  5. java James
  6. Pascal 线段树 lazy-tag 模板
  7. UpdatePanel + 弹出框
  8. 获取SQL中某一列的类型及精度
  9. linux之sed的常用操作
  10. 混用Int与IntPtr导致GetProcAddress始终返回null
  11. [模板] 匈牙利算法&amp;&amp;二分图最小字典序匹配
  12. 【洛谷P3917】异或序列
  13. c/c++ 整数除预算保留小数
  14. Java线上问题排查思路及Linux常用问题分析命令学习
  15. bash 的相关配置
  16. Java - 26 Java 数据结构
  17. 【POJ2631】Roads in the North 树的直径
  18. jQuery Pagination分页插件
  19. 群主微信sdk说明地址
  20. EclEmma安装与使用

热门文章

  1. ubuntu_常用命令_01
  2. [转]ubuntu下安装程序的三种方法
  3. JS重要知识点(转载 学习中。。。)
  4. SciTE 文本编辑器
  5. git 10.8
  6. Sublime Text 3使用技巧
  7. NKW
  8. jQuery用户从服务器端注册登录
  9. OpenGL 简介
  10. uploader上传