51nod 1212 无向图最小生成树
2015-10-03 01:52
375 查看
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1212
水题。代码:
#include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> #include <math.h> #include <stack> #include <queue> using namespace std; #define INF 10000000 int n, m; int a, b, c; int map[1010][1010], dis[1010], v[1010]; int prim(int n) { int i, j, k, min, sum = 0; for (i = 1; i <= n; i++) dis[i] = map[1][i]; memset(v, 0, sizeof(v)); v[1] = 1; dis[1] = 0; for (i = 2; i <= n; i++) { k = 1; min = INF; for (j = 1; j <= n; j++) if (!v[j] && min>dis[j]) { k = j; min = dis[j]; } sum += min; v[k] = 1; for (j = 1; j <= n; j++) if (!v[j] && dis[j]>map[k][j]) dis[j] = map[k][j]; } return sum; } int main() { while (scanf("%d %d", &n, &m) != EOF) { for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) map[i][j] = INF; while (m--) { scanf("%d%d%d", &a, &b, &c); if (map[a][b] >= c) { map[a][b] = map[b][a] = c; } } printf("%d\n", prim(n)); } return 0; }
相关文章推荐
- 博文第二天,一切刚刚开始
- 有人提到田英章欧体田字格范本,说两句。
- 2015/10/2 iOS笔记 细节
- 从 PHP 5.4.x 迁移到 PHP 5.5.x
- chanme的博客搬家了!
- 小甲鱼汇编语言006第二章 寄存器(CPU工作原理)01
- 编译原理自学开坑
- Windows多线程技术
- Python学习笔记<LearnPythonHardWay>
- HTTP协议详解
- Python学习笔记<LearnPythonHardWay>
- 51nod 1242 斐波那契数列的第N项【矩阵快速幂】
- 3D models 加载
- 欢迎使用CSDN-markdown编辑器
- Assignment 1-3 :Pattern Recognition
- 51nod 1256 乘法逆元
- ThinkPHP3.2.3升级的若干问题和注意事项
- 服务器端编程的十大性能问题
- 我的入职
- Web 2.0应用客户端性能问题十大根源