#include <iostream>

#include <queue>

using namespace std;

typedef struct 

{

    long v;

    long next;

    long cost;

}Edge;

typedef struct 

{

    long v;

    long cost;

}node;

bool operator <(const node &a,const node &b)

{

    return a.cost>b.cost;

}

priority_queue<node> q;

const long MAXN=10000;

Edge e[MAXN];

long p[MAXN];

bool vist[MAXN];

long m,n;

long from,to,cost;

void init()

{

    memset(p,-1,sizeof(p));

    memset(vist,0,sizeof(vist));

    while (!q.empty())

    {

        q.pop();

    }

    long i;

    long eid=0;

    for (i=0;i<n;++i)

    {

        scanf("%ld %ld %ld",&from,&to,&cost);

        e[eid].next=p[from];

        e[eid].v=to;

        e[eid].cost=cost;

        p[from]=eid++;

        //以下适用于无向图

        swap(from,to);

        e[eid].next=p[from];

        e[eid].v=to;

        e[eid].cost=cost;

        p[from]=eid++;

    }

}

void print(long cost)

{

    printf("%ld\n",cost);

}

void Prime()

{

    long cost=0;

    init();

    node t;

    t.v=from;//选择起点

    t.cost=0;

    q.push(t);

    long tt=0; 

    while (!q.empty()&&tt<m)

    {

        t=q.top();

        q.pop();

        if (vist[t.v])

        {

            continue;

        }

        cost+=t.cost;

        ++tt;

        vist[t.v]=true;

        long j;

        for (j=p[t.v];j!=-1;j=e[j].next)

        {

            if (!vist[e[j].v])

            {

                node temp;

                temp.v=e[j].v;

                temp.cost=e[j].cost;

                q.push(temp);

            }

        }

    }

    print(cost);

}

int main()

{

    while (scanf("%ld %ld",&m,&n)!=EOF)

    {

        Prime();

    }

    return 0;

}

最新文章

  1. react经典进阶demo
  2. Arrays Multi
  3. NeHe OpenGL教程 第四课:旋转
  4. java 如何连接MySql数据库
  5. Redis总结(五)缓存雪崩和缓存穿透等问题
  6. JS匿名执行函数
  7. JavaScript HTML DOM 元素(节点)
  8. 分布式系统间通信之RPC简单Demo(七)
  9. Kaggle竞赛 —— 泰坦尼克号(Titanic)
  10. Java+大数据开发——Hadoop集群环境搭建(二)
  11. composer的安装方法 以及 ThinkPHP5安装
  12. wzyxidian Scanner 与 Readable 的read()方法
  13. net core体系-web应用程序-4net core2.0大白话带你入门-11asp.net core 2.0 cookie的使用
  14. (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL
  15. Unknown parameter datatype UNKNOW send from server.
  16. iOS开发笔记-图标和图片大小官方最新标准
  17. CVE-2018-18820 icecast 栈缓冲区越界写漏洞分析
  18. spring boot 使用拦截器 无法注入 配置值 、bean问题
  19. Fiddler 502问题
  20. 纯js的N级联动列表框 —— 基于jQuery

热门文章

  1. html5拨打电话及发短信
  2. ArgumentError:&#160;You&#160;need&#160;to&#160;supply&#160;at&#160;least&#160;one&#160;validatio
  3. [App Store Connect帮助]三、管理 App 和版本(2.7)输入 App 信息:添加 iMessage 信息版 App 的 App 信息
  4. 在3D中两条射线的相交性检测
  5. Codeforces 612D 前缀和处理区间问题
  6. what is success?
  7. html5+css3杂记
  8. 实现X*N
  9. RadioButtonList的兩種實現方式
  10. 在CentOS6,CentOS7安装 Let&#39;sEncrypt 免费SSL安全证书