RT,全MLE求助,空间哪里开大了
#include<bits/stdc++.h>
using namespace std;
int fa[1005];
inline int getfa(int x){
if(fa[x]==x)return x;
return fa[x]=getfa(fa[x]);
}
bool st[1005];
int n,m,cnt=0,x,y;
signed main(){
while(1){
cin>>n;if(n==0)break;cin>>m;
cnt=0;
memset(st,0,sizeof(st));
for(int i=1;i<=n;++i)fa[i]=i;
for(int i=1;i<=m;++i)
cin>>x,cin>>y,fa[getfa(x)]=y;
for(int i=1;i<=n;++i)st[getfa(i)]=1;
for(int i=1;i<=n;++i)cnt+=st[i];
cout<<cnt-1<<'\n';
}
puts("");
return 0;
}
//sto AC orz