题意

农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000

分析

这题我是用普里姆算法

一个一个点枚举,如果它小于min,并且它不等于0,那么min=这个点,记录下这个点

var
n,tj,i,j,k,x,y,t,min:longint;
a:array[0..200,0..200]of longint;
f:array[0..200]of longint;
begin
    readln(n);
    fillchar(a,sizeof(a),0);
    fillchar(f,sizeof(f),0);
    for i:=1 to n do
    for j:=1 to n do
    read(a[i,j]);
    f[1]:=1;
    tj:=0;
    for i:=1 to n-1 do
    begin
        min:=maxlongint;
        for j:=1 to n do
        if f[j]=1 then
          for k:=1 to n do
          if f[k]=0 then
          if (a[j,k]<min)and(a[j,k]<>0) then
          begin
              min:=a[j,k];
              t:=k;
          end;
        if min<>maxint then
        begin
            tj:=tj+min;
            f[t]:=1;
        end;
    end;
    write(tj);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500152.html

USACO 3.1 Agri-Net 最短网络 (最小生成树)(普里姆算法)相关推荐

  1. 最小生成树(普里姆算法【Prim】与克鲁斯卡尔算法【Kruskal】)

    写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...

  2. 最小生成树——普里姆算法和克鲁斯卡尔算法

    最小生成树 用来解决工程中的代价问题. 一:普里姆算法 具体代码用C语言实现如下: typedef int VRType;typedef char InfoType;#define MAX_NAME ...

  3. 最小生成树 普里姆算法

    题目来源  POJ2349 在介绍什么是最小生成树之前先介绍什么是加权图 在之前已经默认了解了无向图(并查集)以及有向无环图(拓扑排序),那么最小生成树可以理解是一个加权的无向图,那么我们要坐的就是在 ...

  4. (数据结构)图的最小生成树 普里姆算法(Prim)

    假设要在n个城市之间建立通信联络网,每两个城市之间建立线路都需要花费不同大小的经费,则连通n个城市只需要n-1个条线路,最小生成树解决的问题就是:如何在最节省经费的前提下建立这个通信网 也可以理解为: ...

  5. 学懂最小生成树(普里姆算法)

    最小生成树,初学者可能会学的感觉云里雾里,不要怕,小编带大家搞懂它! 目录 一.概念介绍 二.实现原理 三.代码实现 一.概念介绍 最小生成树就是在一个图中找到能过一次性穿过所有顶点的最小路径. 上图 ...

  6. 最小生成树普里姆算法c语言代码,普里姆算法生成最小生成树-C语言描述.doc

    PAGE JIN JINGCHU UNIVERSITY OF TECHNOLOGY <数据结构(C语言描述)> 课程设计 学 院 计算机工程学院 班 级 12级软件技术1班 学 号 201 ...

  7. 最小生成树普里姆算法Prim

    目录 前言 一.Prim算法的基本思路 二.代码实现 总结 前言   无论是什么程序都要和数据打交道,一个好的程序员会选择更优的数据结构来更好的解决问题,因此数据结构的重要性不言而喻.数据结构的学习本 ...

  8. 最小生成树——普里姆(Prim)算法

    Prim算法的基本思想是以顶点为主导地位:从起始顶点出发,通过选择当前可用的最小权值的边把其他顶点加入到生成树中来.设连通无向网为G(V,E),在普里姆算法中,将顶点集合V分成两个子集T和T'. (1 ...

  9. 最小生成树算法——普里姆算法

    普里姆算法 假设G=(V,E)是一个具有n个顶点的连通网,T=(U,TE)是G的最小生成树,其中U是T的顶点集,TE是T的边集,U和TE的初始值为空.算法过程: 首先从V中任取一个顶点(假定v1),将 ...

最新文章

  1. 笔记react router 4(三)
  2. 字节跳动 ClickHouse 在实时场景中的应用和优化实践
  3. 安卓编程用什么软件_震惊!安卓IOS都可以用的牛逼软件
  4. 预留空间过大的OutOfMemoryError
  5. 判断系统是大端还是小段
  6. mysql日期纬度表_mysql中生成时间维度表
  7. 武汉工程大学计算机网络真题,2017年武汉工程大学计算机科学与工程学院836计算机网络考研导师圈点必考题汇编...
  8. 练习题|python常用模块
  9. LINUX下载编译zrtp
  10. 测量运放的输入偏置电流 - 实验准备
  11. bilibili视频下载器v1.0.5 支持4K超清
  12. DurIAN模型介绍
  13. matlab学习之旅1——钢琴音频
  14. 普罗米修斯?对!就是 Prometheus ,如何计算 P90 / P99 ? 准确评控服务耗时性能!
  15. 在idea中完成创建maven工程,搭建MVC框架并完成和servlet相似的操作
  16. 【创意编程】《暗潮》:processing随机游走及噪声之美
  17. 好全面的python笔记,那我就笑纳了
  18. 基于模板匹配的目标跟踪法
  19. 想对大一大二学生说一些心里话
  20. Ubuntu键盘按键修改方法

热门文章

  1. delphi程序设计之底层原理
  2. Makefile中的wilcard函数
  3. ubuntu安装与配置nfs服务器
  4. cordova splashscreen插件在android平台的使用
  5. 为什么1900年不是闰年
  6. 进入保护模式(一)——《x86汇编语言:从实模式到保护模式》读书笔记12
  7. maven生命周期lifecycle和plugins介绍
  8. 日常生活小技巧 -- 网络调试助手
  9. div上下展开收缩 html,js实现div层缓慢收缩与展开的方法
  10. android上垂直跑马灯,android textview 垂直滚动and水平跑马灯