1、最小生成树是否唯一算法
给定一无向图,判断最小生成树是否唯一。
2、思路
先求出最小生成树,记录结果,依次删除树中各边,再求最小生成树,看与最初结果是否相同,若相同则不唯一。
3、代码实现
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <queue>
#include <stack>
#include <vector>
using namespace std;
const int N = 109;
const int MAX = 100000000;
int d[N];
int g[N][N];
int fa[N];
pair<int, int> v[N];
int prim(int n, int m, bool f)
{
for(int i=0;i<n;i++)
{
d[i] = g[0][i];
fa[i] = 0;
}
d[0] = -1;
int ans = 0;
for(int i=1;i<n;i++)
{
int min = MAX, mini = -1;
for(int