圣诞老人的精灵需要帮助来确定他们当前的礼物是否适合圣诞老人的雪橇。用您选择的语言编写最短的程序,以帮助他们。
约束条件
- 圣诞老人的雪橇宽6英尺,长12英尺,深4英尺。
- 礼物可能很脆弱,因此它们可能不会堆叠在一起。
- 您可以根据需要旋转和翻转礼物,但是圣诞老人的强迫性非常强,因此将旋转保持90度的倍数即可。
- 北极的健康和安全法规规定,礼物的伸出高度不得超过雪橇顶部的1英尺(因此,高度不得超过5英尺)。
输入值
输入将打开,STDIN
并且将是一个整数,代表批次中的礼物数量,其后是礼物尺寸的列表-每行1个礼物,每行3个尺寸(以英尺为单位),以空格分隔。
例子:
1
6 12 5
6
1 12 3
1 12 4
1 12 1
1 12 5
1 12 3
1 12 5
1
4 3 13
1
6 12 6
输出量
如果礼物可以装在雪橇上,则输出应该只是单词“ YES”(是),否则不能输出“ NO”(否)。
以上示例的输出:
YES
YES
NO
NO
测试脚本
和以前一样,我已经使用了Joey和Ventero编写的一些测试脚本来为此任务创建一些测试:
用法: ./test [your program and its arguments]
奖赏
我可以验证符合规格,通过测试并且显然已经尝试过打高尔夫球的每个条目都会收到我的赞誉(因此请提供使用说明和答案)。最短的解决方案将在2011年底获胜。
我们可以旋转礼物吗?将它们翻转到一边?旋转角度不是90°的倍数?
—
Ilmari Karonen 2011年
@IlmariKaronen是的,您可以根据自己的喜好将礼物旋转到任意方向。我认为,以不大于90的倍数的角度装配盒子时涉及的数学会过于复杂吗?我只假设测试旋转90度。
—
Gareth
@IlmariKaronen经过进一步思考,我认为我需要消除90度其他倍数的旋转,以避免使问题过于复杂,并确保测试给出正确答案。我将添加一个额外的约束。
—
Gareth
当示例1为“是”时,为什么示例3为“否”?6x12x5大于6x12x4,因此是否允许将顶部戳出?在那种情况下为什么3不为好,因为那也可以突出?
—
Skizz
@Skizz:它的措辞令人困惑,但请参见第四个约束:礼物可能会伸出顶部1英尺。因此,雪橇的有效深度是5英尺,而不是4英尺。
—
Ilmari Karonen 2011年