//并查集
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=100000+10;
int p[maxn];
int findset(int x){
return p[x] != x ? p[x]=findset(p[x]) : x ;
}
void init(){
for(int i=0;i<=100000;++i)
p[i]=i;
}
int main()
{
// freopen("in.txt","r",stdin);
int x,y;
int ans;
while(scanf("%d",&x)!=EOF){
init(); //初始化p[i]数组放在循环里
ans=0;
while(x!=-1){
scanf("%d",&y);
x=findset(x),y=findset(y);
if(x!=y)p[x]=y;
else ++ans;
scanf("%d",&x);
}
printf("%d\n",ans);
}
return 0;
}
UVa 1160 X-Plosives
最新推荐文章于 2024-07-22 20:42:52 发布