LA3644——无向图中找环,并查集
2013-04-09 21:45
441 查看
题意:有一些简单化合物,每种化合物有两种不同的元素组成,如果在这些化合物中存在k个化合物恰好含有k中不同的元素,则是危险的。
把每种元素看成节点,节点与节点之间的边为化合物,则在该无向图中若存在环,则有上述情况发生。
把每种元素看成节点,节点与节点之间的边为化合物,则在该无向图中若存在环,则有上述情况发生。
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int maxn = 100000 + 10; int pre[maxn], num, res; int Find(int a) { if(pre[a] != a) return pre[a] = Find(pre[a]); else return a; } int main() { freopen("in.txt", "r", stdin); int a, b; for(int i = 0; i < maxn; ++i) pre[i] = i; while(~scanf("%d", &a)) { if(a == -1) { printf("%d\n", res); for(int i = 0; i < maxn; ++i) pre[i] = i; num = res = 0; continue; } scanf("%d", &b); if(Find(a) == Find(b) && num >= 2) { res++; } else { pre[pre[a]] = pre[b]; num++; } } return 0; } /* 1 2 3 4 3 5 3 1 2 3 4 1 2 6 6 5 -1 3 */
相关文章推荐
- UVALive(LA) 3644 X-Plosives (并查集)
- 并查集 LA 3644
- 并查集初学(2)LA 3644 & LA3027
- LA 3644 X-Plosives [并查集]
- LA 3644 X-Plosives && LA 3027 Corporative Network (并查集入门)
- LA 3644 X-Plosives / 并查集
- LA 3644 易爆物(并查集)
- 并查集(图论) LA 3644 X-Plosives
- UVa Live (LA) 3644 典型并查集
- LA 3644(并查集)
- LA 3644 (并查集)
- LA 3644 易爆物 并查集
- 并查集 LA 3644
- [LA] 3644 - X-Plosives [并查集]
- LA -3644 X-Plosives -并查集
- LA3644 利用并查集判断是否有环
- LA 3644 并查集
- 初学并查集的例题1 X-Plosives,LA 3644
- LA 3644 X-Plosives (并查集)
- LA 3644 并查集判断无向图是否有环