[prime模板]
来源:互联网 发布:ci框架数据库配置 编辑:程序博客网 时间:2024/06/06 02:58
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f#define MAXN 110int map[MAXN][MAXN], lowcost[MAXN];bool visit[MAXN];int nodenum, sum;void prim(){int temp, k;sum = 0;memset(visit, false, sizeof(visit)); //初始化visitvisit[1] = true;for(int i = 1; i <= nodenum; ++i) //初始化lowcost[i]lowcost[i] = map[1][i];for(int i = 1; i <= nodenum; ++i)//找生成树集合点集相连最小权值的边{temp = INF;for(int j = 1; j <= nodenum; ++j)if(!visit[j] && temp > lowcost[j])temp = lowcost[k = j];if(temp == INF) break;visit[k] = true; //加入最小生成树集合sum += temp;//记录权值之和for(int j = 1; j <= nodenum; ++j) //更新lowcost数组if(!visit[j] && lowcost[j] > map[k][j])lowcost[j] = map[k][j];}}int main(){int a, b, cost, edgenum;while(scanf("%d", &nodenum) && nodenum){memset(map, INF, sizeof(map));edgenum = nodenum * (nodenum - 1) / 2;for(int i = 1; i <= edgenum; ++i) //输入边的信息{scanf("%d%d%d", &a, &b, &cost);if(cost < map[a][b])map[a][b] = map[b][a] = cost;}prim();printf("%d\n", sum); //最小生成树权值之和}return 0;}
0 0
- prime模板
- [prime模板]
- prime模板
- prime模板题HDU1875
- 生成树模板(Prime + Kruskal)
- poj1258 prime最短路模板
- [模板]Dijkstra, Prime, Bellmanford, Floyed算法模板
- poj 1811 Prime Test_Pollard_rho算法模板
- 最小生成树prime算法模板
- poj 2485 Highways(prime算法模板)
- ccf 最优灌溉(prime模板)
- prime算法(最小生成树模板)
- Prime
- prime
- Prime
- prime
- Prime
- prime
- codevs 1045 回文数 题解报告
- HDU 5914 Triangle【找规律】【2016中国大学生程序设计竞赛(长春)】
- Git常用操作
- 一个简单的可以接收TCP服务器数据的TCP客户端
- TCP/IP详解学习笔记(2)-数据链路层
- [prime模板]
- java中的运算符!!绝对经典!值得收藏!!
- 20161021 观《吴清源》
- ESP8266 无法连接手机
- 排序链表中去重
- 如何在Windows中创建.htaccess无文件名的文件
- 整数数组的冒泡排序(从小到大)
- R 学习 基本语句
- u-boot-2016.09 ld链接脚本分析