const int INF=0x3f3f3f3f;
const int MAXN=2018;
bool vis[MAXN];
int lowc[MAXN];
int cost[MAXN][MAXN];
int Prim(int n)//点是0~n-1
{
int ans=0;
memset(vis,false,sizeof(vis));
vis[0]=true;
for(int i=1;i
minc=lowc[j];
p=j;
}
if(minc==INF)return -1;//原图不连通
ans+=minc;
vis[p]=true;
for(int j=0;j
lowc[j]=cost[p][j];
}
return ans;
}