蓝桥杯 历届试题 城市建设 最小生成树

把码头作为0点处理。

首先判断不建码头是否可以生成最小生成树

最小生成树用kruskal算法,若对于代价<0的边,直接加入

若可以:Min(最小生成树(不建码头),最小生成树(建码头));

若不可:最小生成树(建码头)


#include "stdio.h"
#include "string.h"
#include "algorithm"
using namespace std;
int father[10010];
struct Link
{
    int a,b,v;
}link[110001];

int Min(int a,int b)
{
    if (a


你可能感兴趣的:(图论)