未知错误怎么回事?
#include<bits/stdc++.h>
using namespace std;
int n,m,father[200005],c[200005];
int find(int x)
{
if(father[x]!=x)father[x]=find(father[x]);
return father[x];
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
father[i]=i;
}
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
int f1=find(x),f2=find(y);
if(f1!=f2)father[f2]=f1;
}
for(int i=1;i<=n;i++)
{
int f=find(i);
c[f]++;
}
long long ans=0;
for(int i=1;i<=n;i++)
{
if(c[i]>0)ans+=c[i]*(c[i]-1ll)/2;
}
printf("%lld",ans-m);
return 0;
}
Unknown Error