//LG P2872
#include<bits/stdc++.h>
using namespace std;
const int INF=0x7fffffff/2;
long long ans;
int n,m,tx,ty;
bool vst[1005];
int x[1005],y[1005];
int u[1005],v[1005];
double w[1005][1005],d[1005];
void prim(int v0)
{
int k,t;
for (int i=1;i<=n;i++)
{
d[i]=INF;
}
d[v0]=0;
for (int i=1;i<=n;i++)
{
k=INF;
for (int j=1;j<=n;j++)
{
if (vst[i]==0&&k>d[j])
{
k=d[j];
t=j;
}
}
vst[t]=1;
ans+=d[t];
for (int j=1;j<=n;j++)
{
if(vst[j]==0&&d[j]>w[k][j])
{
d[j]=w[k][j];
}
}
}
}
int main()
{
cin>>n>>m;
for (int i=1;i<=n;i++)
{
cin>>x[i]>>y[i];
}
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
w[i][j]=INF;
}
}
for (int i=1;i<=m;i++)
{
cin>>u[i]>>v[i];
tx=x[u[i]]-x[v[i]];
ty=y[u[i]]-y[v[i]];
w[u[i]][v[i]]=sqrt(tx*tx+ty*ty);
w[v[i]][u[i]]=w[u[i]][v[i]];
}
prim(1);
cout<<ans<<endl;
return 0;
}
不知道哪错了,谢谢大佬指点。