LA3644 利用并查集判断是否有环
2013-08-25 13:38
387 查看
这题是并查集的典型应用,判断是否存在环,即两个点的祖先是否相同,这题要求不能有环,要删除的边数。
代码:
代码:
#include<iostream> #include<algorithm> #include<cstdio> #include<vector> #include<string> #include<queue> #include<cmath> #include<cstring> #define maxn 100005 #define INF 0xfffffff #define mem(a,b) memset(a,b,sizeof(a)) #define FOR(i,s,t) for(int i=s;i<=t;i++) #define ull unsigned long long #define ll long long using namespace std; int f[maxn]; int find(int x) { return x==f[x]?x:f[x]=find(f[x]); } int u,v,ans; void init() { ans=0; for(int i=0; i<=100000; i++) { f[i]=i; } } int main() { init(); while(scanf("%d",&u)==1) { if(u==-1) { printf("%d\n",ans); init(); } else { scanf("%d",&v); int a=find(u),b=find(v); if(a==b) { ans++; } else f[b]=a; } } return 0; }
相关文章推荐
- LA 3644 并查集判断无向图是否有环
- UVALive - 3644 X-Plosives(并查集判断是否有环)
- 利用并查集进行图中两顶点是否连通的判断
- 利用正则判断是否是电话号码
- asp.net中利用正则表达式判断一个字符串是否为数字的代码
- Perl 利用grep 判断元素是否在数组里
- ios利用正则表达式判断手机号码格式是否正确
- [LA] 3644 - X-Plosives [并查集]
- hdu 1325 并查集判断是否是一个树
- php下利用curl判断远程文件是否存在的实现代码
- ios中利用NSDateComponents、NSDate、NSCalendar判断当前时间是否在一天的某个时间段内。
- UVa Live (LA) 3644 典型并查集
- 并查集 LA 3644
- C#利用反射来判断对象是否包含某个属性的实现方法
- 利用linq快速判断给定数字是否包含在某个段范围内
- 利用ajax判断用户名是否存在
- LA 3644 并查集
- 利用文本编辑器判断dll/exe是否为64位
- iOS ---利用文本框的协议判断是否输入内容
- 利用顺序栈判断字符串是否回文