最小生成树(Kruskal)HDU 1863-畅通工程

  • 最小生成树(Kruskal)HDU 1863-畅通工程


  • 题目链接:

畅通工程

  • 题目基础:

最小生成树-Kruskal(克鲁斯卡尔)算法

  • 思路:

题目大意:

中文题目略

题解:

Kruskal水题,有个概念,如果M个村庄能够连通,并且是在并查集下连通,需满足道路数Road_Num=M-1

所以在题目中,如果合并的道路小于M-1,是不能将M个村庄连通的

  • 代码:

#include
#include
using namespace std;
#define MAX_SIZE 105
struct Road
{
    int Begin;
    int End;
    int Price;
    bool operator<(Road b)const
    {
        return this->Price>N>>M&&N)
    {
        Init(M);
        for(int i=1;i<=N;i++)
            cin>>Road_List[i].Begin>>Road_List[i].End>>Road_List[i].Price;
        int Res=Kruskal(N,M);
        if(Res==-1)
            cout<<"?"<

 

你可能感兴趣的:(水题,图论,Kruskal,最小生成树,HDU,1863-畅通工程,HDU,1863,畅通工程)