博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 548 - Tree
阅读量:6455 次
发布时间:2019-06-23

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

hot3.png

利用中序和后序构建二叉树然后进行dfs搜索,两步可以同时进行,另外这道题目输入处理也有点麻烦,参考了一些大神的代码,自己重写因为一个值每次case之后未初始化悲剧的RE了好多次。

 

查了下 runtime error的可能大概有:

Runtime Error(ARRAY_BOUNDS_EXCEEDED) // array bounds exceed     数组越界

Runtime Error(DIVIDE_BY_ZERO) //divisor is nil                                   除零
Runtime Error(ACCESS_VIOLATION) //illegal memory access                  非法内存读取
Runtime Error(STACK_OVERFLOW) //stack overflow                             系统栈过载

 

 

#include
int in[10010];int post[10010];int minSum;int res;int findIndex(int key, int*array, int n) { int i; for (i = 0; i < n; i++) { if (array[i] == key) return i; } return -1;}void dfs(int n, int*in, int*post, int sum) { if (n <= 0) return; int root = post[n - 1]; if (n == 1) { int tmpSum = sum + root; if (tmpSum < minSum) { minSum = tmpSum; res = root; } else if (tmpSum == minSum) res = res < root ? res : root; return; } int index = findIndex(post[n - 1], in, n); dfs(index, in, post, sum + root); dfs(n - index - 1, in + index + 1, post + index, sum + root);}int main() { /* setbuf(stdout,NULL);*/ char ch; int i, n; while (scanf("%d%c", &in[0], &ch) != EOF) { minSum = 0x7fffffff; res = 0x7fffffff; if (ch == '\n') { scanf("%d", &post[0]); printf("%d\n", post[0]); continue; } n = 1; while (scanf("%d%c", &in[n++], &ch)) { if (ch == '\n') break; } for (i = 0; i < n; i++) scanf("%d", &post[i]); dfs(n, in, post, 0); printf("%d\n", res); } return 0;}

 

转载于:https://my.oschina.net/jdflyfly/blog/283640

你可能感兴趣的文章
虚拟机centos 同一个tomcat、不同端口访问不同的项目
查看>>
在不花一分钱的情况下,如何验证你的创业想法是否可行?《转》
查看>>
Linux/Android 性能优化工具 perf
查看>>
GitHub使用教程、注册与安装
查看>>
论以结果为导向
查看>>
CODE[VS] 1294 全排列
查看>>
<<The C Programming Language>>讀書筆記
查看>>
如何在目录中查找具有指定字符串的文件(shell)
查看>>
DotNet(C#)自定义运行时窗体设计器 一
查看>>
JS详细入门教程(上)
查看>>
Android学习笔记21-ImageView获取网络图片
查看>>
线段树分治
查看>>
git代码冲突
查看>>
lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效
查看>>
利用android studio 生成 JNI需要的动态库so文件
查看>>
poll
查看>>
衡量优秀的卓越的前端工程师
查看>>
解析查询 queryString 请求参数的函数
查看>>
学生选课系统数据存文件
查看>>
4.6 直接插入排序法
查看>>