UVa 10842 Traffic Flow(最大生成树)
来源:互联网 发布:dns端口 53 953 编辑:程序博客网 时间:2024/05/16 12:09
这道题,第一wa了,因为我没有注意它可能是存在自环以及重边的
很水的一道最大生成树的题
代码如下:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 110;const int INF = -1;const int INFB = 10000;int T, n, m, g[N][N], p[N], pa;void prim() { int d[N], v, mi; bool vis[N]; for ( int i = 0; i <= n; ++i ) d[i] = p[i] = -1; memset(vis, 0, sizeof(vis)); d[0] = 0, pa = 0; for ( int u = 0; u < n; ++u ) { mi = INF; for ( int i = 0; i < n; ++i ) if ( !vis[i] && d[i] > mi ) mi = d[i], v = i; vis[v] = true; pa += mi; for ( int i = 0; i < n; ++i ) if ( !vis[i] && d[i] < g[v][i] ) p[i] = v, d[i] = g[v][i]; }}int main(){ int idx = 1; scanf("%d", &T); while( T-- ) { scanf("%d%d", &n, &m); for ( int i = 0; i < n; ++i ) for ( int j = 0; j < n; ++j ) g[i][j] = -1; while ( m-- ){ int a, b, c; scanf("%d%d%d", &a, &b, &c); if ( a != b ) g[a][b] = g[b][a] = max( c, g[a][b] ); } prim(); int ans = INFB; for ( int i = 1; i < n; ++i ) ans = min( ans, g[i][p[i]] ); printf("Case #%d: %d\n", idx++, ans); }}
- UVa 10842 Traffic Flow(最大生成树)
- UVa 10842 - Traffic Flow
- UVA - 10594 Data Flow (最小费用最大流)
- UVA 10842 Travel Flow
- HDU 4700 Flow(瓶颈生成树)
- traffic flow dataset
- softflowd — Traffic flow monitoring
- UVa 10594 - Data Flow(无向图的最小费用最大流问题)
- uva 10594 Data Flow (最小费最大流+题目给的数据有错)
- UVa 10594 Data Flow (最小费用最大流+有问题)
- UVa 10594 Data Flow / 最小费用最大流
- uva 10594 - Data Flow(最小费用最大流)
- UVA - 10594 Data Flow 最小费用最大流
- UVa 10693 - Traffic Volume
- Traffic Jam UVA
- UVa 10099 The Tourist Guide (最大生成树+最小边的最大化+Kruskal)
- uva 1395 Slim Span (最小生成树||(最大边减最小边尽量小))
- UVa 10099 - The Tourist Guide(Floyd, 最大生成树)
- std::vector删除重复元素和查找
- Windows平台上编译安装ACE
- printk()的使用说明
- mysql的order by,group by和distinct优化
- Steps for install libnfc in Ubuntu:
- UVa 10842 Traffic Flow(最大生成树)
- 女程序员的职业规划
- 使用DOM读取XML文件
- ./sqluldr2_linux64_10204.bin (linux大数据量导出)
- Java编码问题汇总
- asp.net网站404错误页面的设置
- <iOS>关于viewWithTag的一点说明
- 笔记-HashCode
- 程序员人生之路