【发布时间】:2012-01-25 09:50:05
【问题描述】:
推导出一个算法,用于用所有可能的组合打印金字塔,使最轻和最小的人位于金字塔顶部,最重和最大的人作为底部
例如:
A 人 80kg 140 cms
B 人 90 公斤 150 厘米
C 人 100kg 160 cms
人 D 100kg 170 cms
人E 150kg 180 cms
人 F 160kg 185 cms
A
B C
D E F
注意: 身高和体重比其他人大的人不能躺在那个人身上 不是每个人都必须成为金字塔结构的一部分
【问题讨论】:
-
金字塔一定要“满”吗?即在这种情况下是 1 人、3 人还是 6 人金字塔?另外,在你的身材中,B 可以比 F 更重或更高吗?
-
金字塔不一定要满。它可以是 3 人 6 人金字塔。 (虽然不可能有 1 人金字塔)。
-
@dfens:不,我也喜欢它,这个金字塔中的一个节点可以有 2 个父节点 [查看 OP 示例中的
E],这与堆不同。
标签: algorithm