uva 548 Tree
来源:互联网 发布:普华在线网络课程 编辑:程序博客网 时间:2024/06/11 17:11
求从根节点开始到叶子节点和的最小值,用中序和后序的性质建树,中序根节点左右分别是左右子树,后序最后的点是根节点,递归找最小值的叶子
#include<stdio.h>#include<string.h>#include<stdlib.h>#define MAXN 100010int mid[MAXN],post[MAXN],leaf,min;void find(int mi,int mj,int pi,int pj,int sum){if(mj<mi)return;int i;int pos;if(mi==mj){sum+=mid[mi];if(min==sum&&leaf>mid[mi])leaf=mid[mi];else if(min>sum){min=sum;leaf=mid[mi];}}else{for(i=mi;i<=mj;i++)if(mid[i]==post[pj]){pos=i;break;}sum+=post[pj];find(mi,pos-1,pi,pi+pos-mi-1,sum);find(pos+1,mj,pi+pos-mi,pj-1,sum);}}int main(){int i,j;char ch;i=0;while(scanf("%d%c",&mid[i++],&ch)==2){if(ch==32)continue;if(ch=='\n'){for(j=0;j<i;j++)scanf("%d",&post[j]);//getchar();min=99999999;leaf=9999999; find(0,i-1,0,i-1,0);printf("%d\n",leaf);i=0;}}return 0;}
- UVa 548 Tree
- uva 548 Tree
- uva 548 - Tree
- uva 548 - Tree
- UVa 548 - Tree
- uva 548 Tree
- uva 548 - Tree
- 数据结构 uva 548-Tree
- UVA 548 - Tree
- UVa 548 - Tree
- UVa 548 - Tree
- uva-548 Tree
- UVA 548 Tree
- UVA 548 tree
- uva 548 -Tree
- uva 548 Tree
- 548 - Tree (UVa OJ)
- UVA 548 Tree
- verilog 层次化设计的简单问题 -- 如何调用底层模块
- 银行招聘有关问题
- Myeclipse工程中不显示jar包
- Oracle 常用数据字典操作
- linux库文件编写入门
- uva 548 Tree
- 前端性能的测试与优化
- 江泽民向柬埔寨太后致唁电哀悼西哈努克去世-西哈努克太皇-柬埔寨独立-西哈努克
- Android 资源目录的相关知识
- win32修改.exe图标
- ALSA(lib和util)交叉编译与测试
- 对字符串HELL0_HULU中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为?
- CSDN高校俱乐部招募公告
- oracle复杂查询练习题