UVA - 112 Tree Summing
来源:互联网 发布:刷微信红包软件 编辑:程序博客网 时间:2024/05/18 00:52
题目大意: 给出树和广义表,求是否存在叶节点到根节点的和与该数字相等叶节点
解题思路:递归调用,创建一个函数读取空格和左右括号,创建一个递归函数来判断该节点下面的节点是否符合要求,该函数首先读取一个数字,然后读取字符,如果没有数字的话,就会读取到右括号,则表示该节点内没有值,则传进来的表示是否还有节点的leaf变为true,表示该节点为空,然后在读取一个括号,判断该节点下的右节点是否有符合的叶节点,如果左右节点都为空了,则判断sum是否和当前节点的值相等,如果相等,则将标记位变成true,表示找到了该叶节点
#include<cstdio>char get() {char temp ;temp = getchar();while(temp == ' ' || temp == '\n')temp = getchar();return temp;}bool judge(int sum, bool *leaf) {bool left =false, right = false, end = false;char temp;int num;scanf("%d", &num);temp = get();if(temp == '(') {if(judge(sum - num,&left))end = true;temp = get();if(judge(sum - num,&right))end = true;temp = get();if(right && left)end = (sum == num);}else*leaf = true;return end;}int main() {int num;char temp;bool leaf = false;while(scanf("%d", &num) != EOF) {temp = get();judge(num,&leaf)?printf("yes\n"):printf("no\n");}return 0;}
0 0
- uva 112 Tree Summing
- uva 112 - Tree Summing
- uva 112 - Tree Summing
- UVa 112 - Tree Summing
- uva 112 - Tree Summing
- uva 112 Tree Summing
- UVA 112 Tree Summing
- UVa 112 - Tree Summing
- UVa 112 - Tree Summing
- UVa 112 - Tree Summing
- uva 112 - Tree Summing
- uva-112 Tree Summing
- UVA 112 Tree Summing
- UVA 112 Tree Summing
- UVa 112 Tree Summing
- UVa 112 Tree Summing
- UVA 112 Tree Summing
- uva 112 Tree Summing
- Android 如何在Eclipse中查看Android API源码以及support包源码
- 删除二叉排序树中的一个节点
- cocos2d性能优化
- django在apache下的部署包括静态文件解析(笔记)
- android 简化并实现TabHost,SlideMenu,顶部滑动tab,引导页
- UVA - 112 Tree Summing
- haskell 函数
- 一年一折腾,今年二折腾
- schema的聚合。
- hdu 5055
- 软考——计算机系统知识
- friend ostream& operator < <
- 【深信服面试题】编写函数:1-1000之中包含2的个数,比如22算两个。
- css中position:fixed实现div居中