博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并查集 4104 这是一棵树吗
阅读量:6300 次
发布时间:2019-06-22

本文共 1888 字,大约阅读时间需要 6 分钟。

判断是不是树

输入:

每输入一对都为0的数时,表示一组数据输入完毕。每条边有一对正整数表示,第一个数为有向边的起始边,第二个数为有向边的终止点。一对负数的输入就表示输入的结束。

输出:

每组测试数据输出一行判断结果,若输入的图为树,则输出“Case k is a tree.”,否则输出“Case k is not a tree.”其中k表示每组数据的编号(编号从1开始)。

样例输入:

6 8 5 3 5 2 6 4

5 6 0 0

8 1 7 3 6 2 8 9 7 5

7 4 7 8 7 6 0 0

3 8 6 8 6 4

5 3 5 6 5 2 0 0

-1 -1

 

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 //int cmp(const void*a,const void*b) 7 //{ 8 // return(*(int *)a)<(*(int *)b)?1:-1; 9 //}10 int f[1000000];11 int flag[1000000];12 int find(int x)13 {14 if(f[x]!=x)15 f[x]=find(f[x]);16 return f[x];17 }18 19 int join(int x,int y)20 {21 int a=find(x);22 int b=find(y);23 if(b!=y)24 return 1;25 if(a==b)26 return 1;27 else28 f[b]=a;29 return 0;30 }31 32 int main()33 {34 int a,b;35 int t=0,key=0,max=0,g=0,p=1;36 memset(flag,0,sizeof(flag));37 for(int i=1;i<=999999;i++)38 f[i]=i;39 while(1)40 {41 scanf("%d%d",&a,&b);42 if(a>max)43 max=a;44 if(b>max)45 max=b;46 if(a<=-1&&b<=-1)47 break;48 if(a==0&&b==0)49 {50 for(int i=1;i<=max;i++)51 {52 if(flag[i]==1&&f[i]==i)53 g++;54 }55 if(key>0||g>=2)56 printf("Case %d is not a tree.\n",p++);57 else58 printf("Case %d is a tree.\n",p++);59 t=0;key=0;max=0;g=0;60 memset(flag,0,sizeof(flag));61 for(int i=1;i<=999999;i++)62 f[i]=i;63 }64 else65 {66 flag[a]=1;67 flag[b]=1;68 key+=join(a,b);69 }70 }71 72 return 0;73 }
View Code

 

转载于:https://www.cnblogs.com/xuesen1995/p/4105860.html

你可能感兴趣的文章
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
JAVA应用小程序(Applet)
查看>>
Mac OS终端提示符前缀”bogon”
查看>>
代码大全读后感(二)
查看>>
request.servervariables参数
查看>>
Python之初识模块之序列化模块
查看>>