#include<stdio.h>//判断是否有环,判断是否有点,判断是否是一个父节点

#include<string.h>

#define N 1000000

int pre[N+10],dis[N+10];

int find(int n ) {

if(pre[n]!=n)

return pre[n]=find(pre[n]);

return pre[n];

}

int main() {

int n,m,i,a,b,j,cnt,flag,f1,f2,k=0,min,max;

while(scanf("%d%d",&a,&b),a>=00&&b>=0){//判断条件需注意

if(a==0&&b==0) {

printf("Case %d is not a tree.\n",++k);//和1272不一样如果没有节点就不是树

continue;

}

for(i=1;i<=N;i++)

pre[i]=i;

f1=find(a);

f2=find(b);

pre[f2]=f1;

dis[a]=dis[b]=1;

min=a>b?b:a;

max=a>b?a:b;

flag=0;

while(scanf("%d%d",&a,&b),a&&b) {

f1=find(a);

f2=find(b);

if(f1==f2)

flag=1;

else

pre[f2]=f1;

dis[a]=dis[b]=1;

min=min<a?min:a;

min=min<b?min:b;

max=max>a?max:a;

max=max>b?max:b;

}

if(flag) {

printf("Case %d is not a tree.\n",++k);

continue;

}

cnt=0;

for(i=min;i<=max;i++)

if(pre[i]==i&&dis[i])

cnt++;

if(cnt==1)

printf("Case %d is a tree.\n",++k);

else

printf("Case %d is not a tree.\n",++k);

}

return 0;

}

最新文章

  1. ‘Cordova/CDVPlugin.h’ file not found
  2. 1 NFS高可用解决方案之DRBD+heartbeat搭建
  3. zabbix3.0.4 部署之四 (LNAP &gt; PHP安装)
  4. cocos2d-x知识巩固-基础篇(2)
  5. Day9 - Python 多线程、进程
  6. ORACLE存储过程笔记2
  7. [leetcode-507-Perfect Number]
  8. 学习js函数--函数定义
  9. arcgis api 3.x for js 共享干货系列之二自定义 Navigation 控件样式风格(附源码下载)
  10. js点击出现二级菜单,点击二级菜单主菜单换成二级菜单
  11. 关于Redis处理高并发
  12. P和C
  13. HTML5-桌面提醒功能
  14. kubernetes学习笔记之十二:资源指标API及自定义指标API
  15. 如何诊断windows性能问题
  16. css 特殊使用技巧
  17. Failed to import package with error: Couldn&#39;t decompress package的解决方案
  18. jmeter 基础功能详解
  19. weexpack 使用
  20. windows下C++实现遍历本地文件

热门文章

  1. 华容道 noip2013 70分搜索
  2. logging模块进阶
  3. gp服务输出的结果文件输出到绝对路径
  4. 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI
  5. bitcoin 源码解析 - 交易 Transaction
  6. Animate.css_css3动画库介绍
  7. 12scrapy_redis
  8. luogu 1968 美元汇率
  9. [LOJ] 分块九题 5
  10. 访问修饰词--Java