英语题翻译15

Monkey and Banana | JXNUOJ

A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If the monkey is clever enough, it shall be able to reach the banana by placing one block on the top another to build a tower and climb up to get its favorite food.
The researchers have n types of blocks, and an unlimited supply of blocks of each type. Each type-i block was a rectangular solid with linear dimensions (xi, yi, zi). A block could be reoriented so that any two of its three dimensions determined the dimensions of the base and the other dimension was the height.
They want to make sure that the tallest tower possible by stacking blocks can reach the roof. The problem is that, in building a tower, one block could only be placed on top of another block as long as the two base dimensions of the upper block were both strictly smaller than the corresponding base dimensions of the lower block because there has to be some space for the monkey to step on. This meant, for example, that blocks oriented to have equal-sized bases couldn't be stacked.
Your job is to write a program that determines the height of the tallest tower the monkey can build with a given set of blocks.

The input file will contain one or more test cases. The first line of each test case contains an integer n,
representing the number of different blocks in the following data set. The maximum value for n is 30.
Each of the next n lines contains three integers representing the values xi, yi and zi.
Input is terminated by a value of zero (0) for n.

For each test case, print one line containing the case number (they are numbered sequentially starting from 1) and the height of the tallest possible tower in the format "Case case: maximum height = height".

翻译:

一组研究人员正在设计一个实验来测试猴子的智商。他们会在建筑物的屋顶上挂一根香蕉,同时给猴子一些积木。如果猴子足够聪明,它应该能够通过将一个积木放在另一个积木上来建造一座塔并爬上去获取它最喜欢的食物。研究人员有 n 种类型的块,并且每种类型的块供应无限。每个 i 型块都是具有线性尺寸 (xi, yi, zi) 的长方体。一个块可以重新定向,以便它的三个维度中的任何两个确定基础的维度,另一个维度是高度。他们希望通过堆叠积木确保最高的塔能够到达屋顶。问题是,在建造塔楼时,一个街区只能放在另一个街区的顶部,只要上面街区的两个基本尺寸都严格小于下街区的相应基本尺寸,因为必须有给猴子踩上一些空间。例如,这意味着不能堆叠具有相同大小的底座的块。你的工作是编写一个程序来确定猴子用给定的一组积木可以建造的最高塔的高度。

输入文件将包含一个或多个测试用例。 每个测试用例的第一行包含一个整数 n,表示以下数据集中不同块的数量。 n 的最大值为 30。接下来的 n 行中的每一行都包含三个整数,表示值 xi、yi 和 zi。输入以 n 的值为零 (0) 终止。

对于每个测试案例,打印一行,其中包含测试用例编号(它们从 1 开始按顺序编号)和可能最高的塔的高度,格式为"Case case: maximum height = height"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值