首页 > 其他分享 >prim

prim

时间:2022-09-01 15:03:40浏览次数:52  
标签:0x3f prim int memset sizeof dis

朴素prim

#include<bits/stdc++.h>
using namespace std;
const int N = 550, INF = 0x3f3f3f3f;
int n, m, dis[N], g[N][N];
bool vis[N];

int prim()
{
    memset(dis, 0x3f, sizeof dis);
    int res = 0;

    for(int i = 0; i < n; i ++ )
    {
        int t = -1;
        for(int j = 1; j <= n; j ++ )
            if(!vis[j] && (t == -1 || dis[j] < dis[t])) t = j;

        if(i && dis[t] == INF) return INF;

        if(i) res += dis[t];
        vis[t] = true;

        for(int j = 1; j <= n; j ++ )
            dis[j] = min(dis[j], g[j][t]);
    }
    return res;
}
int main()
{
    cin >> n >> m;
    memset(g, 0x3f, sizeof g);
    while(m -- )
    {
        int f, t, l;
        cin >> f >> t >> l;
        g[f][t] = g[t][f] = min(g[t][f], l);
    }

    int t = prim();

    if(t == INF) puts("impossible");
    else cout << t << endl;

    return 0;
}

 

标签:0x3f,prim,int,memset,sizeof,dis
From: https://www.cnblogs.com/leyuo/p/16646504.html

相关文章

  • Entity 和primitive 对比
    Entity和primitive对比entity偏向数据,primitive偏向图形.primitive更底层entity用法简单,primitive用法复杂。我们会有这样的疑问:entity已经封装的如此完美,调用如此便......
  • C Primer Plus pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1L__aDQdV2SBGoodpCb4cmg点击这里获取提取码CPrimerPlus全面讲述了C语言编程的相关概念和知识。CPrimerPlus共17章。第1......
  • MathProblem 59 Two primes problem
    Showthatanyprimenumberotherthan2canbeexpressedasthedifferenceoftwosquares,whereeachsquareisanintegersquared.Solution任何质数都是奇数。......
  • C++ Primer 第五版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/14M-yWrk2FxOFB4RVhiolQQ点击这里获取提取码这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球......
  • Kruskal和Prim算法详解
    最小生成树概念(转载)假设一个国家有一些城市,这些城市可以互相连接起来,假设每两个城市之间的道路有很多条,那么一定存在这样的情况,可以用最少的路程连接各个城市。......
  • C++ Primer阅读笔记
    如何设置GNU编译器对C++11的支持运行编译器的时候指定-std=C++11参数黑窗口下编译运行源文件//windows下gcctest.c-otest//-o表示指定可执行文件的文件名.\tes......
  • C++Primer阅读笔记续
    chapter13.拷贝控制概述控制类类型的对象的拷贝,赋值,移动,销毁包括五种特殊的成员函数(这些称为拷贝控制成员):拷贝构造函数拷贝赋值运算符移动构造函数移动赋值运算符......
  • cesium教程4-用primitive加载glb和gltf格式的小模型
    primitive加载方法更底层,用起来更麻烦,但是效率更高。  完整示例代码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>cesium示例</tit......
  • C++ Primer“引用的引用”
    《C++primer》中有一句因为引用本身不是对象,所以不能定义引用的引用。inti=1024;int&a=i;int&b=a;容易引起误解,语句int&b=a;并没有语法错误。可以这......
  • const限定符_c++Primer
    const对象必须初始化,因为const对象一旦创建后其值就不能改变。默认情况下,const对象仅在文件内有效在一个文件中定义const,在多个文件中声明并使用,解决办法:对于const变量不......