题目链接: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 ;
}

Prim算法求最大权,POJ(2485)的更多相关文章

  1. HDU-1233 还是畅通工程 (prim 算法求最小生成树)

    prim 算法求最小生成树 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  2. Kruskal和Prim算法求最小生成树

    Kruskal算法求最小生成树 测试数据: 5 6 0 1 5 0 2 3 1 2 4 2 4 2 2 3 1 1 4 1 输出: 2 3 1 1 4 1 2 4 2 0 2 3 思路:在保证不产生回 ...

  3. Prim算法求最小生成树

    首先在介绍这个算法之前我们要之明确一下什么是最小生成树的概念: 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 ...

  4. Prim算法求权数和,POJ(1258)

    题目链接:http://poj.org/problem?id=1258 解题报告: #include <iostream> #include <stdio.h> #includ ...

  5. 858. Prim算法求最小生成树(模板)

    给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数. 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible. 给定一张边带权的无向图G=(V, E),其中V表示 ...

  6. 图的普里姆(Prim)算法求最小生成树

    关于图的最小生成树算法------普里姆算法 首先我们先初始化一张图: 设置两个数据结构来分别代表我们需要存储的数据: lowcost[i]:表示以i为终点的边的最小权值,当lowcost[i]=0说 ...

  7. AcWing 858. Prim算法求最小生成树 稀疏图

    //稀疏图 #include <cstring> #include <iostream> #include <algorithm> using namespace ...

  8. 数据结构:最小生成树--Prim算法

    最小生成树:Prim算法 最小生成树 给定一无向带权图.顶点数是n,要使图连通仅仅需n-1条边.若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost ...

  9. 经典算法题每日演练——第十四题 Prim算法

    原文:经典算法题每日演练--第十四题 Prim算法 图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过 ...

随机推荐

  1. Angular JS 1.X 接口拿不到 http post 请求的数据

    app上加上配置相关的代码即可 var myApp = angular.module('myApp',[]); myApp.config(function($httpProvider){ $httpP ...

  2. MySQL 0 学习

    ubuntu  安装mysql  创建用户  以及外部如何可视化连接的   方法   https://www.linuxidc.com/Linux/2017-01/139502.htm 2.3 MyS ...

  3. input校验不能以0开头的数字

    不以零开头 <input type="text"  class="form-control"  onkeyup="value=value.rep ...

  4. speex编译

    首先去官网 https://www.speex.org/downloads/ 下载解压 将include.libspeex文件夹复制到自己新建工程的jni目录下 speex有关的类 package c ...

  5. formatter easyui 重命名

    function for_method(){    datagridmethod = $('#formethod_datagrid').datagrid({            url : 'loc ...

  6. inventor安装失败怎样卸载安装inventor 2016?

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  7. ssh RSA key变化后处理

    root@localhost:/# scp -r root@172.19.47.30:/home/linux-4.16.2-devm.1.2.aarch64.dongbo ./@@@@@@@@@@@@ ...

  8. bootstrap-datetimepicker:基于twitter bootstrap的日期/时间选择控件

    bootstrap-datetimepicker是一个基于twitter bootstrap的简单日期/时间选择控件. <!DOCTYPE HTML> <html> <h ...

  9. thinkphp3.2 删除Runtime目录里的缓存文件,标记一下,以下好找。

    操作如下: utility::clearCache("Data"); 或 utility::clearCache("Data-Logs"); class uti ...

  10. (转)Shell脚本之break,continue,和exit区别

    Linux脚本中的break continue exit return break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一 ...