| 比赛 | 
    20120712 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    爆炸化合物 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    CC | 
    运行时间 | 
    0.172 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.67 MiB  | 
    | 提交时间 | 
    2012-07-12 11:15:43 | 
显示代码纯文本
#include <cstdio>
#include <algorithm>
int fa[100005];
int ans;
int find(int u) {
	if (fa[u] == u) return fa[u];
	return fa[u] = find(fa[u]);
}
int main() {
	freopen("explosion.in","r",stdin);
	freopen("explosion.out","w",stdout);
	int p,q;
	for (int i = 0;i <= 100004;i++) fa[i] = i;
	scanf("%d%d", &p, &q);
	while (p != -1) {
		int f1 = find(p),f2 = find(q);
		if (f1 == f2) ans++;
		else fa[f1] = f2;
		scanf("%d%d", &p, &q);
	}
	printf("%d\n", ans);
	return 0;
}