题目链接:http://poj.org/problem?id=2485

解题报告:

这里有一点要注意的是,第一个点时,dis数组还没有初始化,还全部为inf。第一次来到更新权时,才把邻接矩阵的数据存到dis中。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <memory.h>
#include <algorithm> using namespace std; #define N 10005
#define inf 100010 int a[N][N],ans; bool vis[N];
int dis[N],n; bool Prim()
{
///初始化每条路没走过
memset(vis,,sizeof(vis)); ///初始化到每一点的权
for(int i=; i<=n; i++)
{
dis[i]=inf;
} ans=; ///从第一个点搜起。到达自己的权为0
dis[]=; ///搜索每个节点,加入到集合中来
for(int i=; i<=n; i++)
{
int tmp=inf,k=; ///搜索每个点,找i到达下一点的最小权
for(int j=; j<=n; j++)
{
if(!vis[j]&&dis[j]<tmp)
{
tmp=dis[j];
k=j;
}
} if(tmp==inf) ///搜索不成功
{
return false;
} vis[k]=true; ///标记走过 ans=max(ans,dis[k]); ///更新到每个节点的最小权
for(int j=; j<=n; j++)
{
if(!vis[j]&&dis[j]>a[k][j])
{
dis[j]=a[k][j];
}
}
}
} int main()
{
int Case;
scanf("%d",&Case);
while(Case--)
{
scanf("%d",&n);
ans=;
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
scanf("%d",&a[i][j]);
}
}
Prim();
cout<<ans<<endl;
}
return ;
}

最新文章

  1. 《Ext JS模板与组件基本知识框架图----模板》
  2. 理解soft-clipped reads
  3. 基于.NET Socket API 通信的综合应用
  4. Qt之四种等待提示框
  5. [转载]MongoDB 常用命令
  6. vmware安装Linux时无法打开xpdf
  7. 在IntelliJ IDEA 13中配置OpenCV的Java开发环境
  8. poj 1948 Triangular Pastures 小结
  9. sqlserver 存储过程 修改
  10. 网上整理的对于Rest和Restful api的理解
  11. Ajax、Flash优缺点
  12. SQLServer存储过程批量删除
  13. std::remove_reference
  14. Java NIO2:NIO概述
  15. BZOJ5119 生成树计数(prufer+生成函数+分治FFT+多项式exp)
  16. docker_File 执行报错总结
  17. P1829 [国家集训队]Crash的数字表格 / JZPTAB
  18. leetcode463
  19. H01-Linux系统中搭建Hadoop和Spark集群
  20. gcc参数PIE和PIC的区别和共同点

热门文章

  1. 提取SQL中用到的表
  2. mybatis mapper问题列表
  3. acm之奇葩数据输入专题
  4. Jenkins安装过程
  5. my.宠物价格_资料
  6. Vue.js-----轻量高效的MVVM框架(四、指令)
  7. tencent intern learning
  8. sublime text2 for mac 实现json格式化
  9. (转)centOS wget的使用
  10. rman对应format参数说明