比赛题目:到别的版问过,不过没人回复 :(只好到这里请教各位高手了
设一个N个节点的2叉树中续遍历为(1,2,3,。。。n)其中数字1,2,3...为节点编号。每个节点有一个加分,任意一棵子树subtree的加分计算方法如下:
subtree的左子树加分*subtree右子树加分+subtree根的分数 若某个子树为空则加分为1,叶子的加分就是叶子节点本身的分数,不考虑他的空子树。
试求一棵符合中续遍历为(1,2,3,...n)且加分最高的2叉数tree。要求输出: 1.tree的最高加分
2.tree的前序遍历
输入格式:
第一行:一个整数n(n<30),为接点个数。
第二行:n个用空格隔开的数,为每个接点的分数
为了节约分数,最后在特别联系给分,多少都行,如果现在就把分加上可能会浪费,特此声明^-^