zoukankan      html  css  js  c++  java
  • POJ 2485 最小生成树

    2333333333

    又是水题。prim模板直接水过。求最小生成树里的最大的边的权值。

    附代码:
    // 如果我木猜错的话。是要求最小生成树的最大边值。

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #define inf 0x1f1f1f1f
    using namespace std;

    int n, t;
    int cost[520][520];

    int prim()
    {
        int low[510], vis[510];
        memset(vis, 0, sizeof(vis));
        memset(low, 0, sizeof(low));
        int i, j, p;
        int ans = -inf;
        int min, res = 0;
        vis[0] = 1;
        for (i=1; i<n; ++i)
        {
            low[i] = cost[0][i];
        }
        for (i=1; i<n; ++i)
        {
            min = inf;
            p = -1;
            for (j=0; j<n; ++j)
            {
                if (vis[j] == 0 && min > low[j])
                {
                    min = low[j];
                    p = j;
                }
            }
            if (min == inf)
            return -1;
            res += min;
            vis[p] = 1;
            if (ans < min)
            ans = min;
            for (j=0; j<n; ++j)
            {
                if (vis[j] == 0 && low[j] > cost[p][j])
                {
                    low[j] = cost[p][j];
                }
            }
        }
        return ans;
    }

    int main()
    {
        cin >> t;
        while (t--)
        {
            cin >> n;
            memset(cost, 0, sizeof(cost));
            for (int i=0; i<n; ++i)
            {
                for (int j=0; j<n; ++j)
                {
                    cin >> cost[i][j];
                }
            }
            int ans = prim();
            cout << ans << endl;
        }
        return 0;
    }

  • 相关阅读:
    Windows系统下八大具有高逼格的DOS命令之一【ping】
    NOIP初赛 之 逻辑运算
    动态规划 —— 背包问题一 专项研究学习
    使用前端原生 js,贪吃蛇小游戏
    纯html+css制作3D立方体和动画效果
    css3实现3D动画轮播图
    原生js的弹力小球
    小球的问题
    早期练手:功能相对比较完善的 js 计算器
    自动布局简介
  • 原文地址:https://www.cnblogs.com/icode-girl/p/4567089.html
Copyright © 2011-2022 走看看