POJ 1258 -- 最小生成树(prim算法)
2016-02-02 14:13
393 查看
最小生成树
prim算法
题意
给定一个N个顶点的图,使连通一个农场的所用的路径长度之和最小。题解
使用prim最小生成树算法,计算连通一个图(即N-1条边)的最短路径和代码
#include <iostream> using namespace std; const int MAXN = 1000; const int INF = 1e9; int graph[MAXN][MAXN]; int cost[MAXN]; bool used[MAXN]; int N; int result; int prim(int s) //起点s { int costsum = 0; for(int i = 0; i < N; i++) { cost[i] = INF; used[i] = false; } cost[s] = 0; int v; while(true) { v = -1; for(int u = 0; u < N; u++) if(!used[u] && (v == -1 || cost[u] < cost[v])) v = u; if(v == -1) break; used[v] = true; costsum += cost[v]; for(int u = 0; u < N; u++) cost[u] = min(cost[u], graph[v][u]); } return costsum; } int main() { while(cin >> N) { for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) cin >> graph[i][j]; cout << prim(0) <<endl; } return 0; }
相关文章推荐
- ios内购的一些常见错误(不定期添加)
- linux kernel 模块多文件编译
- linux 怎么设置硬件时钟 UTC
- socket基础知识
- setCellValue 后面的数据被前面的数据覆盖
- Python docs
- 超酷的iOS动画集合
- Qualcomm Flight--首套四轴飞行器集成开发平台问世
- SpringMVC入门了解
- Python docs
- 二维数组的查找
- UIViewController+UITableView 和 UITableViewController
- Security6:授予权限的思路和一般步骤
- nvidia 各种卡
- linux 环境部署android 编译环境
- FreeCMS
- 寒假关于计算机课程的学习计划(第二次作业<二>)
- 老版本xcode下载地址
- 最近想学习ML,so顶礼膜拜下几位大牛先
- 庆祝下csdn博客终于有排名了