输入:
- 您会得到一系列整数(通过标准输入或提示输入)。
- 此系列中的每对整数代表建筑物的宽度[有效范围:1..10]和高度[有效范围:0..10]
- 假设输入格式正确。
样本输入(第二行仅用于演示目的):
1 2 1 1 1 0 2 4 1 3 1 2 2 1 WHWHWHWHWHWHWH
相应的样本输出:
______ / ______ / | | | | __ | | / __ / | __ | | | | __ / __ / | | | | / __ / | | | | __ | | | | | ______ | | / __ / | | | | | / ______ / | | | | | _ | | | | | | | _o_ | _o_ | / __ | _o _____ | _o_ | _o_ | _o _____ || / ------------------------------------- -------------- -------------------------------------
规则:
那些建筑
- 一个基本的构建块看起来像这样(1 W,1H)
__ / __ / | (基本多维数据集是从这个问题的那个借来的: | | | http://stackoverflow.com/questions/1609702/code-golf-playing-cubes) | ___ | /
我们的观点是(ahum)〜3D,因此相邻建筑物可能隐藏了其他建筑物的一部分。建筑物从左到右是“逻辑上”的渲染。
第一栋建筑前面有两个空格。
通过将WIDTH和HEIGHT应用于基础立方体的尺寸来渲染每个建筑物(请看提供的示例输出!)。供参考:从左到右“墙”的字符数(对于W> 1的建筑物):(W * 5)-(W-1)。
高度> 0的建筑物具有一扇门(由字符描绘,
o
位于“底”行的“左”墙的两个字符处)。
马路:
- 这条路由三部分组成,分别称为“顶部”,“中间”和“底部”。
- “顶部”部分和“底部”部分是相同的,只是“顶部”部分前面有两个空格。
- 中间部分前面有一个空格,由以下模式的重复组成:
'-'
- 长度由合并建筑物的总宽度决定:道路最右边的部分与“最后”建筑物的“右”墙的位置相对应。
获奖者:
这是代码高尔夫球!获奖者是解决方案最短的合格参赛者(按源代码计数)。源必须仅由可打印的ASCII字符组成。玩得开心!
(随机)窗户,汽车或行人的虚构奖励积分。
如果规格不清楚,请随时发表评论!
@user未知:确实确实有一些小错字。现在应该修复,谢谢!
—
ChristopheD
允许尾随空格?您似乎在示例中有一些内容,所以我认为是的。
—
彼得·泰勒
@Peter Taylor:允许尾随空格。
—
ChristopheD
道路3,应该是
—
mellamokb
'- '
(有两个空格)?编辑:啊,两个空格不显示:P。您可以显示多个空格,方法是使用ASCII 255(不间断空格,数字键盘上的ALT + 255),或者通过在此处复制和粘贴我的注释。Orr ...相反,您可以说这是重复的' - '
:)
看起来高度有效范围实际上是[ 0 ..10]。另外,您
—
mellamokb'1
but you must not enforce this
在3)中是什么意思?IMO,如果可以提高您的分数,任何假设都可以被利用。因此,我可以编写仅在总宽度小于80的情况下才能起作用的代码,前提是我可以挤出较少的字符数。例如,将输出写入宽度为80的显示缓冲区阵列,这样在任何更大的总宽度上都会崩溃。如果您希望支持任何宽度,则不要给出假设-您不能同时使用:P