题目链接:http://7xjob4.com1.z0.glb.clouddn.com/eab170e979d9683005d958b058d6ce76
思路:就是加入后成环的元素不可以被加入。
下面是AC代码:
#include<cstdio>
const int maxn=100000+10;
int pre[maxn];
int findset(int x)
{
if(x==pre[x])
{
return x;
}
else
{
return pre[x]=findset(pre[x]);
}
}
int main()
{
int x,y;
while(scanf("%d",&x)==1)
{
for(int i=0;i<=maxn;i++)
{
pre[i]=i;
}
int refusales=0;
while(x!=-1)
{
scanf("%d",&y);
x=findset(x);
y=findset(y);
if(x==y)
{
++refusales;
}
else
{
pre[x]=y;
}
scanf("%d",&x);
}
printf("%d\n",refusales);
}
return 0;
}