poj 2492 A Bug's Life
来源:互联网 发布:mac系统打符号 编辑:程序博客网 时间:2024/05/17 23:41
题目链接:http://poj.org/problem?id=2492
把父亲初始化为自己要比初始化为-1的要快,
1,要想男女分开,必须找到的祖先是不同的。
2,(1),如果祖先相同就矛盾了,flag=1;
(2), x,y都没对象。
(3), x没对象,y有对象。
(4), x,y都有对象。
(5), x有对象,y无对象。
3,注意两组数据间要有空行。
#include <cstdio>#include <cstring>struct node{ int pre; int duixiang;};node stu[2010];int t,n,m;int find(int x) //差不多{ int r=x; while(stu[r].pre!=r) r=stu[r].pre; while(r!=x) { int p=stu[x].pre; stu[x].pre=r; x=p; } return r;}/*int find(int x) 、、差不多{ if(x != stu[x].pre) stu[x].pre = find(stu[x].pre); return stu[x].pre;}*/void unionone(int x,int y)//慢{ int xx=find(x); int yy=find(y); stu[xx].pre=yy;}/*void unionone(int x, int y)//快{ x = find(x); y = find(y); if(x == y) return; stu[y].pre = x;}*/int main(){ int i,x,y,cnt=0; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=n;++i) { stu[i].pre=i; stu[i].duixiang=0; } int flag=0; for(i=1;i<=m;++i) { scanf("%d%d",&x,&y); int xx=find(x); int yy=find(y); // printf("xx %d yy %d\n",xx,yy); if(flag==1) continue; if(xx==yy) { flag=1; } else if((stu[x].duixiang==0)&&(stu[y].duixiang==0)) { stu[x].duixiang=y; stu[y].duixiang=x; } else if((stu[x].duixiang==0)&&(stu[y].duixiang!=0)) { stu[x].duixiang=y; unionone(x,stu[y].duixiang); } else if((stu[x].duixiang!=0)&&(stu[y].duixiang!=0)) { unionone(stu[x].duixiang,y); unionone(x,stu[y].duixiang); } else if((stu[x].duixiang!=0)&&(stu[y].duixiang==0)) { stu[y].duixiang=x; unionone(stu[x].duixiang,y); } } ++cnt; if(flag==1) { printf("Scenario #%d:\n",cnt); printf("Suspicious bugs found!\n"); } else { printf("Scenario #%d:\n",cnt); printf("No suspicious bugs found!\n"); } printf("\n"); } return 0;}
0 0
- 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
- 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
- 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
- MySQL DATE_SUB() 函数
- 写代码学习Windows程序编写---动态链接库编程
- Mysql的row_format
- PAT 1020. Tree Traversals
- 电脑键盘部分按键失灵的解决方法
- poj 2492 A Bug's Life
- 关于Linux 64位安装hadoop2.2.0报异常的解决方法
- Dedecms5.7修改TAG、title、keywords及栏目名称长度限制
- 详解Mysql中InnoDB和MyISAM两种表类型的区别1
- MySQL中的Rows,Row_format以及MyISAM和InnoDB的一点区别
- MySQL-索引结构详解
- 用本地搭建Web服务器遇到的IP地址的问题
- new blog
- coursera-android-week4-3 layout menus and action bar