poj 2485 修建公路
来源:互联网 发布:8080端口服务打开 编辑:程序博客网 时间:2024/04/27 15:56
继续复习prim算法
注意本题的要求是输出最小生成树中的最大边
#include <iostream>#include <sstream>#include <cstdio>#include <cstring>#include <cmath>#include <string>#include <vector>#include <set>#include <cctype>#include <algorithm>#include <cmath>#include <deque>#include <queue>#include <map>#include <queue>#include <list>#include <iomanip>using namespace std; //////const int INF = 20000000; #define maxn 505 #define max(a,b)(a>b?a:b)///int T;int N;int cost[maxn][maxn];//邻接矩阵,不能到达置为infint lowc[maxn];//记录某点出发到各点的数值bool vis[maxn];//是否被加入MST中int prim(){int i, j, s;int minc;int ans = 0;memset(vis, false, sizeof(vis));//初始化第一个结点和花费数组vis[1] = true;for (i = 2; i <= N; i++)lowc[i] = cost[1][i]; //对剩余结点进行迭代for (i = 2; i <= N; i++){minc = INF;s = -1;//当前最小结点编号for (j = 1; j <= N; j++){if (0 == vis[j] && minc > lowc[j]){minc = lowc[j];s = j;}}if (ans < minc)ans = minc;//找到新的MST边的数值更大则更新vis[s] = true;for (j = 1; j <= N; j++){if (0 == vis[j] && lowc[j] > cost[s][j])lowc[j] = cost[s][j];}}return ans;}int main(){///int i, j;scanf("%d", &T);while (T--){cin >> N;//建图for (i = 1; i <= N; i++)for (j = 1; j <= N; j++)scanf("%d", &cost[i][j]);int ans = prim();printf("%d\n", ans);}/// return 0;}
- poj 2485 修建公路
- 公路修建
- 公路修建
- 洛谷1265 公路修建
- 洛谷 P1265 公路修建
- 洛谷 P1265 公路修建
- [bzoj1196] 公路修建问题
- [P1265]公路修建
- P1265 公路修建
- 【Bzoj1196】公路修建问题
- bzoj1196 公路修建问题
- 公路修建 P1265
- 洛谷 [P1265] 公路修建
- POJ 2485 公路
- bzoj1196[HNOI2006]公路修建问题
- 1196: [HNOI2006]公路修建问题
- [BZOJ1196] [HNOI2006]公路修建问题
- 1196: [HNOI2006]公路修建问题
- object-c的异常处理机制
- 让虚拟机识别串口和USB转串口
- Google Chrome 导入IE和Firefox的收藏夹和浏览记录
- 无法删除当前已连接的用户处理办法
- 截取字符串的另一种做法
- poj 2485 修建公路
- Maven将web项目发布到tomcat中
- 同桌之间那些或暧昧或有趣的事
- 苹果App Store程序提交审核指南中文版
- hadoop学习笔记-1-背景知识
- va_start、va_end、va_list的使用
- 心得2--Session简介及案例分析
- 多个class文件的游戏打包成可执行jar文件遇到的问题
- 判断字符串是否全部是数字