数据结构OJ作业——最小生成树
来源:互联网 发布:淘宝店上传不了食品 编辑:程序博客网 时间:2024/05/17 22:34
poj2485 Highways : http://poj.org/problem?id=2485
最小生成树输出最大边权
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 510;const int INF = 0x3f3f3f3f;int map[MAXN][MAXN];int n;int visit[MAXN];inline int Min(int a, int b){ return a > b? b : a;}int prim(void){ int ans = 0; int lowcost[MAXN]; memset(visit,0,sizeof(visit)); for (int i = 2; i <= n; i ++) { lowcost[i] = map[1][i]; } lowcost[1] = 0; visit[1] = 1; for (int i = 1; i < n; i ++) { int min = INF, minid; for (int j = 1; j <= n ; j ++) { if (!visit[j] && lowcost[j] < min) { min = lowcost[j]; minid = j; } } visit[minid] = 1; if (ans < lowcost[minid]) { ans = lowcost[minid]; } for (int j = 1; j <= n ; j ++) { lowcost[j] = Min(lowcost[j], map[minid][j]); } } return ans;}int main(int argc, char const *argv[]){ int t; scanf("%d",&t); while (t --) { scanf("%d",&n); for (int i = 1; i <= n; i ++) { for (int j = 1; j <= n; j ++) { scanf("%d",&map[i][j]); } } int ans = prim(); printf("%d\n",ans); } return 0;}
poj2377 Bad Cowtractors : http://poj.org/problem?id=2377
最大生成树,和最小生成树是一样的
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;int n, m, father[1005];struct edge { int u,v,w;} e[20005];int find(int x){ while (x != father[x]) { father[x] = father[father[x]]; x = father[x]; } return x;}void merge(int x, int y){ x = find(x); y = find(y); if (x != y) { father[x] = y; } return ;}bool cmp(const edge &e1, const edge &e2){ return e1.w > e2.w;}int main(){ while (~scanf("%d%d",&n,&m)) { for (int i = 1; i <= n; i ++) { father[i] = i; } int u, v, w; for (int i = 1; i <= m; i ++) { scanf("%d%d%d",&e[i].u, &e[i].v, &e[i].w); } sort(e + 1, e + 1 + m, cmp); int cnt = 0, ans = 0; for (int i = 1; i <= m; i ++) { if (find(e[i].u) != find(e[i].v) ){ merge(e[i].u, e[i].v); ans += e[i].w; cnt ++; } if (cnt >= n - 1) break; } if (cnt >= n - 1) printf("%d\n", ans); else puts("-1"); } return 0;}
阅读全文
0 0
- 数据结构OJ作业——最小生成树
- 数据结构——最小生成树
- 数据结构——构造最小生成树
- 数据结构与算法问题 sdut oj 2144 最小生成树
- 数据结构OJ作业 二叉树
- 【数据结构】最小生成树
- [数据结构]最小生成树
- [数据结构]最小生成树
- 数据结构---最小生成树
- 数据结构——邻接矩阵的最小生成树Kruskal算法
- 《大话数据结构》最小生成树——Prim算法
- 《大话数据结构》最小生成树——Kruskal算法
- 数据结构_课程设计——最小生成树:室内布线
- 数据结构——邻接矩阵的最小生成树Prim算法
- 数据结构例程——最小生成树的普里姆算法
- 数据结构与算法-最小生成树—普里姆算法
- 数据结构OJ作业——图的遍历
- 数据结构OJ作业——最短路、拓扑排序
- C++操作MySQL总结
- latx在线
- QSize
- codeforces 612C Replace To Make Regular Bracket Sequence
- 动态联编 和 静态联编
- 数据结构OJ作业——最小生成树
- SQLServer 怎么升级补丁?
- AJAX二级下拉联动【XML方式】
- 去除struts2中s:fieldError标签中的默认样式
- 遭遇战_模拟
- Vuforia之Virtual Button 教程
- PHP安装新扩展
- 面向切面编程AOP的配置
- 今天做到一道面试题:请介绍一下单例模式