zoukankan      html  css  js  c++  java
  • 湖工oj 1162 大武汉局域网

    Problem Description
    大武汉一直流传着这样一个传说:
    玩在武大,学在华科,爱在华师,吃在湖工。。。
    大武汉有N所高校,现在打算在他们之间建立一个局域网,使它们之间能够相互连通。
    但是铺网线是要钱的。。。
    怎样才能找到一个最省钱的方法呢。
     
    Input
    输入包含多组测试数据
    第一行给出学校的数目N,(3 <= N <= 110);
    接下来一个N*N的矩阵,代表学校i到学校j铺设网络的花费
     
     
    Output
    输出花钱最少的钱数
    (所有数值小于2^31)
     
    Sample Input

    4
    0 4 9 21
    4 0 8 17
    9 8 0 16
    21 17 16 0
     
    Sample Output

    28 
    此题是基本的最小生成树的应用,下面是prim算法
    #include<stdio.h>
    int a[111][111];
    typedef struct{
        int adj;//保存符合要求的点
        int lowcost;//某顶点与已构造好的部分生成树的顶点之间的最小权值
    }closeedge;//辅助结构体
    closeedge close[111];//辅助数组
    int main()
    {
        int n,i,j,min,sum,k;
        while(scanf("%d",&n)!=EOF)
        {
            sum=0;//记录最小生成树的总权值
            for(i=1;i<=n;i++)
                for(j=1;j<=n;j++)
                    scanf("%d",&a[i][j]);
            for(i=2;i<=n;i++)//辅助数组初始化,这里我先把1这个顶点拉入到生成树中
            {
                close[i].adj=1;
                close[i].lowcost=a[1][i];
            }
            close[1].lowcost=0;//1顶点进入最小生成树中
            for(i=1;i<n;i++)//寻找其余n-1个顶点
            {
                min=2147483647;
                for(j=1;j<=n;j++)//找到符合要求的最小权值点
                    if(close[j].lowcost<min&&close[j].lowcost!=0)
                    {
                        min=close[j].lowcost;
                        k=j;
                    }
                sum+=min;
                close[k].lowcost=0;//顶点k进入生成树
                for(j=1;j<=n;j++)//新顶点进入生成树之后,修改辅助数组
                    if(a[k][j]<close[j].lowcost)
                    {
                        close[j].adj=k;
                        close[j].lowcost=a[k][j];
                    }
            }
            printf("%d
    ",sum);
        }
        return 0;
    }
  • 相关阅读:
    B-Tree和B+Tree的区别
    b树和hash树的应用场景
    比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?
    5V与3.3V电平互转
    100M双绞线接头的标准接法
    解决openwrt中文界面异常
    刚刚开通了博客
    openwrt挂载摄像头及视频保存
    mwan3多wan叠加成功
    贝尔金(Belkin)7231-4P tftp救砖
  • 原文地址:https://www.cnblogs.com/duan-to-success/p/3508183.html
Copyright © 2011-2022 走看看