【易爆物】 LA3644
【题目分析】
本题可以用图论解决,难点在于抽象出模型:就是如果产生易爆物品的话则必定在图里存在回路。
【AC代码】
#include<iostream> using namespace std; #define maxn 100009 int pa[maxn]; int findset(int x) { return pa[x]!=x?pa[x]=findset(pa[x]):x; } int main() { int x,y; for(int i=0;i<=maxn;i++) pa[i]=i; while(scanf("%d",&x)==1) { int refusal=0; while(x!=-1) { scanf("%d",&y); x=findset(x);y=findset(y); if(x==y) refusal++; else pa[x]=y; scanf("%d",&x); } printf("%d\n",refusal); } return 0; }