LA 3644 X-Plosives [并查集]
2017-07-12 08:00
337 查看
考虑到一个集合内的存在与否的特点,想到并查集。
拒绝装车->与已装的化合物形成易燃物。
简单并查集的应用。
大水题回顾系列。
拒绝装车->与已装的化合物形成易燃物。
简单并查集的应用。
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<set> #include<queue> #include<algorithm> #include<vector> #include<cstdlib> #include<cmath> #include<ctime> #include<stack> #define rez(i,x,y) for(int i=x;i>=y;i--) #define res(i,x,y) for(int i=x;i<=y;i++) #define INF 2100000000 #define ll long long #define clr(x) memset(x,0,sizeof(x)) using namespace std; const int maxn = 100000+50; int f[maxn],a,b,tot=0; int findset(int x){ return f[x]!=x?f[x]=findset(f[x]):x; } int main(){ for(int i=1;i<=maxn;i++)f[i]=i; while(scanf("%d",&a)!=EOF){ if(a==-1){ cout<<tot<<endl; tot=0; for(int i=1;i<=maxn;i++)f[i]=i; }else{ scanf("%d",&b); a=findset(a),b=findset(b); if(a==b)++tot; else f[a]=b; } } return 0; }
大水题回顾系列。
相关文章推荐
- LA 3644 X-Plosives && LA 3027 Corporative Network (并查集入门)
- UVALive(LA) 3644 X-Plosives (并查集)
- UVALive(LA) 3644 X-Plosives (并查集)
- [LA] 3644 - X-Plosives [并查集]
- (DS 《算法竞赛入门经典》)LA 3644 X-Plosives(并查集)
- LA 3644 - X-Plosives,并查集
- LA 3644 X-Plosives (并查集)
- 并查集(图论) LA 3644 X-Plosives
- 初学并查集的例题1 X-Plosives,LA 3644
- X-Plosives(LA 3644)并查集
- LA -3644 X-Plosives -并查集
- 并查集 LA 3644
- LA 3644 X-Plosives 易爆物
- 并查集初学(2)LA 3644 & LA3027
- LA 3644 X-Plosives
- LA 3644 简单并查集
- UVALive - 3644 X-Plosives 并查集
- LA 3644 并查集
- UVALive - 3644 X-Plosives 并查集
- LA 3644 易爆物 并查集