hdoj 1325 Is It A Tree?
来源:互联网 发布:maxwell软件介绍 编辑:程序博客网 时间:2024/05/17 01:27
此题满足条件:1,不成环(包括自环);2,任何点入度不能超过1;
注意输入两数为负数结束
代码如下:
#include<iostream> #include<cstdio>#include<cstring>#include<algorithm>using namespace std;int pre[1100],vis[1100],aa[1100];int findd(int x){ int r=x; while(r!=pre[r]) r=pre[r]; int i=x,j; while(i!=r) { j=pre[i]; pre[i]=r; i=j; } return r;}void bing(int x,int y){ int tx,ty; tx=findd(x); ty=findd(y); if(tx!=ty) pre[ty]=tx;}int main (){ int tt=0; while(1) { tt++; int flag=0; int cnt=1,sum=0; int xx,yy,i,j,keng=0; for(i=0;i<1100;i++) { pre[i]=0; vis[i]=0; } while(~scanf("%d%d",&xx,&yy)) { if(xx==0&&yy==0) break; if(xx<0&&yy<0) { return 0; } if(pre[xx]==0) pre[xx]=xx; if(pre[yy]==0) pre[yy]=yy; if(findd(xx)==findd(yy)) keng=1; bing(xx,yy); vis[yy]++; } for(i=1;i<1100;i++) { if(vis[i]>1) break; if(pre[i]==i) sum++; } if(keng==1) { printf("Case %d is not a tree.\n",tt); continue; } if(vis[i]>1) { printf("Case %d is not a tree.\n",tt); continue; } if(sum==1) { printf("Case %d is a tree.\n",tt); } else { printf("Case %d is not a tree.\n",tt); } }}
阅读全文
0 0
- hdoj 1325 Is It A Tree?
- HDOJ 1325 Is It A Tree?
- HDOJ 1325 Is It A Tree?
- HDOJ 1325 Is It A Tree?
- hdoj 1325 Is It A Tree?
- Is It A Tree? -- HDOJ
- HDOJ 1325 Is It A Tree? 杭电 ACM
- POJ-1308 & HDOJ-1325 Is It A Tree? 解题报告
- hdoj 1325 Is It A Tree? 【并查集】
- HDOJ 1325 Is It A Tree?(并查集)
- 并查集判树 hdoj 1325 Is it a tree?
- HDOJ 1325 Is It A Tree? (并查集)
- HDOJ 1325 Is It A Tree(并查集)
- HDOJ 1308.Is It A Tree?
- 1325 Is It A Tree?
- HDOJ 题目1325 Is It A Tree?(并查集)
- hdoj.1325 Is It A Tree?[【并查集】 2015/07/24
- HDOJ 1325 Is It A Tree?(并查集+入度判断)
- ubuntu系统cmake升级
- HDOJ2108 判断凸多边形
- 汪国新、尼玛泽仁、郑桂兰等58位艺术家参与诗书画意颂中国深圳行采风
- dede arclist里field:body的调用方法
- Linux JDK安装和坏境变量配置
- hdoj 1325 Is It A Tree?
- [日推荐] 『Streeter』极乐商店邀你一起来尬舞啊!-store.dreawer.com
- C++ 用new 、delete 动态创建、删除数组
- browserdetect.js浏览器嗅探器
- 点到线段的距离
- 汪国新委员列席宜昌两会,汪汀作为特邀代表参会
- 定时任务备份数据库与windows批处理
- 何时使用post与get?
- 度量单位