UVA 1160——X-Plosives
2016-03-21 16:02
363 查看
题意:给定一些化合物(含有两个元素),当满足k个化合物且有k个元素的时候会发生爆炸,问多少个化合物是不能装车的。
思路:并查集的简单应用。实际上满足条件的时候是一个环,因此用并查集简单判环即可。
code:
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int fa
;
int getfa(int x){return fa[x]!=x?fa[x]=getfa(fa[x]):x;}
int main()
{
int x,y;
while (~scanf("%d",&x)){
for (int i=0;i<N;i++) fa[i]=i;
int res=0;
while (x!=-1){
scanf("%d",&y);
x=getfa(x);
y=getfa(y);
if (x==y) ++res;
else fa[x]=y;
scanf("%d",&x);
}
printf("%d\n",res);
}
}
思路:并查集的简单应用。实际上满足条件的时候是一个环,因此用并查集简单判环即可。
code:
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int fa
;
int getfa(int x){return fa[x]!=x?fa[x]=getfa(fa[x]):x;}
int main()
{
int x,y;
while (~scanf("%d",&x)){
for (int i=0;i<N;i++) fa[i]=i;
int res=0;
while (x!=-1){
scanf("%d",&y);
x=getfa(x);
y=getfa(y);
if (x==y) ++res;
else fa[x]=y;
scanf("%d",&x);
}
printf("%d\n",res);
}
}
相关文章推荐
- Spring mvc 数据绑定及返回数据
- iOS 栈和堆的区别
- ListView + EditText
- 多态
- iOS 自定义UITableViewCell上添加UIButton按钮如何确定点击了哪一行,代码块实现
- 2016.3.16高项作业
- mysql 将查询结果拼接输出到本地文件
- 选IT不再让我迷茫
- GoldenGate配置文档,参数说明,常见错误处理
- 烂泥:Server-U FTP与AD完美集成方案详解
- java 小波变换
- 圣思源-张龙-Java SE 第十讲(面向对象之封装) 续
- SVN安装与其服务器搭建
- 单元测试
- 安全算法
- 如何通过 OAuth 2.0 使 iOS Apps 集成 LinkedIn 登录功能?
- 升级openssl
- pc手机&姓名&地址验证&input提示文案兼容ie
- 工业相机笔记
- 防火墙IPTABLES常用设置