最小生成树,主要是题目比较难懂。
#include#include #include #include using namespace std;const int Maxn=2000+10;const int maxn=2000*2000+10;int Father[Maxn];struct Edge{ int from,to,w;}edge[maxn];int n,tot;char s[maxn][10];int Find(int x){ if(x!=Father[x]) Father[x]=Find(Father[x]); return Father[x];}void init(){ for(int i=0;i<=n;i++) Father[i]=i; tot=0;}bool cmp(const Edge&a,const Edge&b){ return a.w