今天是并查集和最小生成树,并查集爆零了,最小生成树一直当最短路打,后来才发现要用并查集,匿了匿了,这是摸索出来的最小生成树代码
struct node{
int l,u,w;
}endll[10000];
bool cmp(node x,node y)
{
if(x.w<y.w)
return 1;
else
return 0;
}
int find(int x)
{
if(p[x]!=x) p[x]=find(p[x]);
return p[x];
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) p[i]=i;
for(int i=1;i<=n;i++)
{
for(int j=1;j>o;
con++;
endll[con].l=i;
endll[con].u=j;
endll[con].w=o;
}
}
sort(endll+1,endll+con+1,cmp);
for(int i=1;i<=con;i++)
{
b=endll[i].l;
c=endll[i].u;
if(find(b)!=find(c))
{
m+=endll[i].w;
p[find(b)]=p[find(c)];
}
}