(╭ ̄3 ̄)╭ 小希的迷宫II
2015-07-31 22:34
302 查看
(╭ ̄3 ̄)╭ 小希的迷宫II
TimeLimit: 2000/1000 MS (Java/Others) MenoryLimit: 65536/32768 K (Java/Others)64-bit integer IO format:%I64d
Problem Description
上次Gardon的迷宫城堡小希玩了很久,现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是单向连通的,就是说如果有一个通道连通了房间A和B,那么它只能从房间A走到房间B,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路),并且必须要是树形结构,只能有一个根节点(没有任何一点指向它!!!)。小希现在把她的设计图给你,让你帮忙判断她的设计图是否符合她的设计思路。比如下面的例子,前两个是符合条件的,但是最后一个却不符合所要求的树形结构。
#include<stdio.h> #include<algorithm> #include<string.h> using namespace std; int d[100005]; bool bo[100005]; int bianshu=0; void init(){ memset(d,0,sizeof(d)); memset(bo,0,sizeof(bo)); bianshu=0; } int main(){ int x,y,cas=1; while(~scanf("%d%d",&x,&y)) { if(x==-1&&y==-1){ break; } if(x==0&&y==0){ int bobo=0; int i; for(i=1;i<=100000;i++){ if(bo[i]&&d[i]==0){ if(bobo==0) bobo=1; else break; }else if(bo[i]&&d[i]!=1){ break; } } if(i<=100000) printf("Case %d is not a tree.\n",cas++); else printf("Case %d is a tree.\n",cas++); init(); continue; } d[y]++; bo[x]=true; bo[y]=true; bianshu++; } return 0; }
View Code
相关文章推荐
- 四重简并位点
- AngularJS' Internals In Depth(深入理解 AngularJS)
- 如何设计系统的错误码及错误信息
- STL学习记录(十五):Stack
- 如何设计系统的错误码及错误信息
- 我跟敏捷开发的故事--背景
- Spring MVC 中的基于注解的 Controller
- <Java>short与byte在有符号大数据时的转换
- 【IDF实验室】图片里的英语
- CATranstion动画
- php5.4n 长链接 bug
- Android大图片裁剪终极解决方案(上:原理分析)
- Android固定标题栏/底栏方法
- RCFile 结构解析
- MapConrol各基本功能的实现代码
- 狸猫浏览器v2.0功能解析
- python函数中各类参数的讨论
- 实模式与保护模式
- SQL到NoSql
- ( ̄y▽ ̄)~ 智能手机II