当前位置: 代码迷 >> 综合 >> LA 3644 X-Plosives
  详细解决方案

LA 3644 X-Plosives

热度:71   发布时间:2023-12-06 08:41:56.0

题目:X-Plosives


思路:并查集。只有当存在环时,才有可能爆炸。


代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <cstring>
#include <map>
using namespace std;int f[1000000];int find(int x){if(f[x]==-1) return x;return f[x]=find(f[x]);
}int main() {int x,y,ans=0;memset(f,-1,sizeof(f));while(~scanf("%d",&x)){if(x==-1){printf("%d\n",ans);ans=0;memset(f,-1,sizeof(f));continue;}scanf("%d",&y);int fa1=find(x),fa2=find(y);if(fa1==fa2) ans++;else f[fa1]=fa2;}return 0;
}