hdoj1272
来源:互联网 发布:云匠网的美工靠谱吗 编辑:程序博客网 时间:2024/06/05 02:58
连接:http://acm.hdu.edu.cn/showproblem.php?pid=1272
意思很明确,查看树是否有环、
用到并查集。我又看了一遍并查集,有了一些了解。
小补充一些知识:
scanf的返回值由后面的参数决定
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
&&(x!=0||y!=0)表示x,y都不为0
#include <IOSTREAM>#include <CSTDIO>using namespace std;#define N 1001010int father[N];int number[N];void init(void){int i;for (i=1;i<N;i++){father[i]=i;number[i]=0;}}int Find(int a){int b=a;while(father[b]!=b)b=father[b];father[a]=b;return father[a];}void Union(int a,int b){a=Find(a);b=Find(b);father[a]=b;}int main(){int x,y,num,max,i,num2;while(scanf("%d%d",&x,&y)==2&&x>=0)//最初是x>0,然后就答案错误,{num=0;max=0;num2=0;init();while(x!=0||y!=0){num++;number[x]=1;number[y]=1;Union(x,y);scanf("%d%d",&x,&y);}for (i=1;i<N;i++){if(number[i]==1)max++;if (father[i]==i&&number[i]==1){num2++;}}if(max==0)//注意n=0的情况{puts("Yes");continue;}if(num2==1&&num==max-1) puts("Yes");elseputs("No");}return 0;}
- hdoj1272
- hdoj1272
- hdoj1272
- hdoj1272【并查集】
- hdoj1272(并查集)
- hdoj1272小希的迷宫
- HDOJ1272并查集加判断森林
- hdoj1272小希的迷宫
- hdoj1272 小希的迷宫
- hdoj1272小希的迷宫
- 小希的迷宫<hdoj1272>
- hdoj1272-小希的迷宫
- 并查集练习4:HDOJ1272
- HDOJ1272 并查集简单应用
- HDOJ1272~小希的迷宫~并查集
- hdoj1272小希的迷宫(并查集)
- HDOJ1272 小希的迷宫(并查集)
- 并查集基础-----HDOJ1272-----小希的迷宫
- 希尔排序法
- openstack nova 基础知识——policy
- oracle 递归查询求出起点、终点问题的解决方法
- 在centos 5上安装最新版phpmyadmin
- Linux系统内存错误产生的原因及调试方法
- hdoj1272
- CSS中如何实现图片垂直居中
- 用户层操作硬件寄存器等(通过/dev/mem)
- 学习mysql(4),存储过程procedure
- GCC这,,程序优化?交给编译器吧。。。
- Uninstall Norton Safety Minder with UninstallGeek.Com Uninstall Guides
- openstack nova 基础知识——Kombu
- 时隔几年再看JMeter
- Scintilla 在MFC中的简易使用(动态、静态)