ZOJ 2753 Min Cut ( SW )
来源:互联网 发布:黄金现货软件 编辑:程序博客网 时间:2024/04/27 22:00
和之前做过的一道是一样的,不同的是这道题要判断是否连通
代码:(写代码一定要认真,一定一定)
#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int N = 550;const int INF = 0x3fffffff;int n, m;int v[N], g[N][N], d[N], father[N];int Stoer_wagner() { bool vis[N]; int i, j, res = INF; for ( i = 0; i < n; ++i ) v[i] = i; while ( n > 1 ) { int maxp = 1, prev = 0; for ( i = 1; i < n; ++i ) { d[v[i]] = g[v[0]][v[i]]; if ( d[v[i]] > d[v[maxp]] ) maxp = i; } memset( vis, 0, sizeof(vis) ); vis[v[0]] = true; for ( i = 1; i < n; i++ ) { if ( i == n-1 ) { res = min( res, d[v[maxp]] ); for ( j = 0; j < n; ++j ) { g[v[prev]][v[j]] += g[v[j]][v[maxp]]; g[v[j]][v[prev]] = g[v[prev]][v[j]]; } v[maxp] = v[--n]; } vis[v[maxp]] = true; prev = maxp; maxp = -1; for ( j = 1; j < n; ++j ) if ( !vis[v[j]] ) { d[v[j]] += g[v[prev]][v[j]]; if ( maxp == -1 || d[v[maxp]] < d[v[j]] ) maxp = j; } } } return res;}int find( int x ) { return father[x] == x ? x : father[x] = find( father[x] );}int main(){ while ( scanf("%d%d", &n, &m) == 2 ) { memset(g, 0, sizeof(g)); for ( int i = 0; i <= n; ++i ) father[i] = i; int x, y, z; while ( m-- ) { scanf("%d%d%d", &x, &y, &z); g[x][y] += z; g[y][x] += z; int a = find( x ); int b = find( y ); if ( a != b ) father[a] = b; } int fn = 0; for ( int i = 0; i < n; ++i ) if ( find(i) == i ) { fn++; if ( fn > 1 ) break; } if ( fn > 1 ) { printf("0\n"); continue; } printf("%d\n", Stoer_wagner()); }}
- ZOJ 2753 Min Cut ( SW )
- Max-Flow Min-Cut
- Max-Flow Min-Cut
- max flow ans min cut
- 图的最小割:Graph-cut:Min-Cut Problem
- sw
- SW
- sw
- [cut point] ZOJ 1119 SPF
- 关于min-weight-cut-crossing edge
- zoj 3506 Cut the Tree (树形dp)
- POJ 2914 Minimum Cut 无向图最小割SW算法
- Random Contraction Algorithm for the min-cut problem
- 图割论文阅读笔记:Min-cut/Max-flow
- Karger's algorithm to solve global min-cut
- 最大流最小割(max flow min cut)
- Max Flow / Min Cut 最大流最小割算法学习
- Grab Cut 源码解读(最大流-最小割, min-cut\max-flow)
- 周易
- C#或SQL获取日期时间
- JS获得时间自定义格式
- TCP/IP模型背后的内涵(一)
- Amdahl定理
- ZOJ 2753 Min Cut ( SW )
- KMP算法详解及各种应用
- 最新世界排名
- Python 函数和作用域
- 艾级计算机
- 开源文化
- Spring+Struts2_整合原理
- windows ce 5.0与6.0的差别
- 《编程之美》