【问题描述】 设 一个 n 个节点的二叉树 tree 的中序遍历为( l,2,3,…,n ),其中数字 1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正整数),记第 j 个节点的分数为 di , tree 及它的每个子树都有一个加分,任一棵子树 subtree (也包含 tree 本身)的加分计算方法如下: subtree 的左子树的加分 × subtree 的右子树的加分+ subtree 的根的分数若某个子树为空,规定其加分为 1 ,叶子的加分就是叶节点本身的分数。不考虑它的空子树。 试求一棵符合中序遍历为( 1,2,3,…,n )且加分最高的二叉树 tree 。要求输出; ( 1 ) tree 的最高加分 ( 2 ) tree 的前序遍历 【输入格式】
...
Read more »
|
【问题描述】 在平面上有n个点,一个点每过一个单位时间就会向4个方向(上下左右)扩散一个距离,如下图所示: 两个点a和b连通,记作e(a,b),当且仅当a、b的扩散区域有公共部分。连通块的定义是块内的任意两个点u、v都必定存在路径e(u,a0),e(a0,a1),……e(ak,v)。给定平面上n个点的坐标,问最早什么时刻它们形成一个连通块。 【输入文件】 第一行一个数:n 下面n行,每行两个整数x,y,代表一个点的坐标。 【输出文件】 一个整数,表示最早的时刻所有点形成的连通块。 【样例输入】 2 0 0 5 5 【样例输出】
...
Read more »
|
|