poj 2492 A Bug's Life
2013-07-16 20:31
330 查看
#include <iostream> #include <cstdio> using namespace std; int set[2005], m[2005]; int find(int x) { int t = x; while (set[t] != t) t = set[t]; while (set[x] != x) { int temp = set[x]; set[x] = t; x = temp; } return t; } void merge(int x, int y) { int fx = find(x); int fy = find(y); if (fx != fy) set[fx] = fy; } int main() { int ncase, n, q, a, b, flag; scanf("%d", &ncase); for (int k=1; k<=ncase; k++) { scanf("%d%d", &n, &q); for (int i=0; i<=n; i++) { set[i] = i; m[i] = 0; } flag = 0; while (q--) { scanf("%d%d", &a, &b); if (m[a]==0 && m[b]==0) { m[a] = b; m[b] = a; } else if (m[a]==0 && m[b]!=0) { m[a] = b; merge(a, m[b]); } else if (m[b]==0 && m[a]!=0) { m[b] = a; merge(b, m[a]); } else if(m[a]!=0 && m[b]!=0) { merge(a, m[b]); merge(b, m[a]); } if( find(a) == find(b) ) flag = 1; } cout<<"Scenario #"<<k<<":"<<endl; if(flag) cout<<"Suspicious bugs found!"<<endl; else cout<<"No suspicious bugs found!"<<endl; cout<<endl;// } return 0; }
相关文章推荐
- POJ - 2492 A Bug's Life(种类并查集)
- poj2492——A Bug's Life
- POJ 2492 A Bug's Life(路径压缩并查集)
- Hdu 1892&&Poj 2492 A Bug's Life[判断二分图 || 种类并查集]
- POJ 2492 A Bug's Life
- POJ 2492 A Bug's Life(种类并查集 + 偏移量)
- poj_2492 A Bug's Life (并查集)
- poj 2492 A Bug's Life
- 【poj 2492】A Bug's Life 题意&题解&代码(C++)
- POJ2492——A Bug's Life
- poj 2492 A Bug's Life(带权并查集)
- [POJ 2492] A Bug's Life [扩展并查集]
- POJ 2492 A Bug's Life (并查集)
- poj 2492 A Bug's Life(带权并查集)
- poj2492 A Bug's Life 种类并查集
- poj 2492 A Bug's Life(并查集)
- hdu 1829 &poj 2492 A Bug's Life(推断二分图、带权并查集)
- POJ 2492 A Bug's Life (并查集)
- POJ 2492 A Bug's Life(并差集应用)
- hdu 1829 &poj 2492 A Bug's Life(判断二分图、带权并查集)