WOC
,
为什么加了i<=t就ac了不然第一个点都过过不了
可是我自己下数据都过得了啊有毒。```
```
#include<bits/stdc++.h>
using namespace std;
int p,t,i,j,n,mst,fa[105];
struct kru{
int w,x,y;
}a[10200];
int comp(const kru &a1,const kru &b1){
return a1.w<b1.w;
}
int fid(int q)
{
if(fa[q]!=q)fa[q]=fid(fa[q]);
return fa[q];
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
fa[i]=i;
for(j=1;j<=n;j++)
{
int shu;
cin>>shu;
if(shu){
a[++t].w=shu;
a[t].x=i;a[t].y=j;
}
}
}
sort(a+1,a+1+t,comp);
for(i=1;p<n&&i<=t;i++)
{
int r1=fid(a[i].x),r2=fid(a[i].y);
if(r1!=r2){
fa[r2]=r1;
mst+=a[i].w;
p++;
}
}
cout<<mst;
}
```
by Pluto_Xz @ 2018-10-24 22:56:15