zoj1586 最小生成树prim解法
来源:互联网 发布:mac os升级不支持银联 编辑:程序博客网 时间:2024/06/11 05:02
#include <stdio.h>void my_Prim(int n);//data for Primint graph[1005][1005];int mincost[1005];int adjvex[1005];int main(void) { int num_input = 0; scanf("%d", &num_input); //other data int i = 0, j = 0; int n = 0; int price_qs[1005]; while(num_input--) { scanf("%d", &n); for (i = 0; i < n; ++i) { scanf("%d", &price_qs[i]); } //init graph for (i = 0; i < n; ++i){ mincost[i] = adjvex[i] = 0; for (j = 0; j < n; ++j) { scanf("%d", &graph[i][j]); if (i != j) { graph[i][j] += price_qs[i] + price_qs[j]; } } } my_Prim(n); } return 0;}void my_Prim(int n){ int sum = 0; int i = 0, j= 0, k = 0; for (i = 0; i < n; ++i) { mincost[i] = graph[0][i]; adjvex[i] = 0; } int min = 65535; for (i = 1; i < n; ++i) { min = 65535; j = 1; k = 0; while (j < n) { if (mincost[j] != 0 && mincost[j] < min) { min = mincost[j]; k = j; } ++j; } sum += min; mincost[k] = 0; for (j = 1; j < n; ++j) { if (mincost[j] != 0 && graph[k][j] < mincost[j]) { mincost[j] = graph[k][j]; adjvex[j] = k; } } } printf("%d\n", sum);}
阅读全文
0 0
- zoj1586 最小生成树prim解法
- zoj1586 QS Network(最小生成树)
- zoj1586 QS Network(最小生成树)
- poj2253 frog之最小生成树prim解法
- zoj1586(prim)
- Prim最小生成树
- 最小生成树 prim
- 最小生成树 Prim
- 最小生成树-Prim
- Prim最小生成树
- 最小生成树 Prim
- prim最小生成树
- 最小生成树prim
- 最小生成树 prim
- prim 最小生成树
- Prim 最小生成树
- 最小生成树---Prim
- 最小生成树-prim
- 【hdu5634】Rikka with Phi(线段树+欧拉函数)
- 如何正确的对拍程序?
- auto, register, static, volatile, extern
- Http协议介绍
- DFS:POJ1190-生日蛋糕(基础搜索)
- zoj1586 最小生成树prim解法
- 集训Stage 1-Part 2-2017.7.3~7.10总结
- 【简记】Java Web 内幕——类加载机制,类与类加载器
- 回归算法的应用——信用卡欺诈检测案例
- HTML5中b/strong,i/em的区别
- Aciviti扩展
- java中的自动装箱与拆箱
- 定时器3控制PWM的输出脉冲_步进电机的控制
- 【Linux】中网络部分的端口分类详解