房间可以由连通的长方形组成,例如L形状的房间.这样的房间可以用描述每个矩形大小的尺寸列表来描述。
假设您有两个输入列表。第一个包含彼此垂直叠加的矩形的宽度。第二个包含矩形的高度。
例如,输入的[4 6][3 2]将是6乘2矩形顶部的4乘3矩形.下图显示了这个形状。注意,墙壁被认为是“薄”的,因此墙之间的空间是由输入决定的。
[4 6][3 2]
____
| |
| |
| |_
| |
|______|挑战是:以尺寸列表作为输入,输出房间的形状为ASCII-艺术。格式必须与抽样数字相同:
你可以做出以下假设:
[1 ... 20] 的范围内。[1 ... 10]范围内。[2][1]
__
|__|
---
[4][2]
____
| |
|____|
---
[2 6 2 4][2 2 1 3]
__
| |
| |___
| |
| ___|
| |_
| |
| |
|____|
---
[2 14 6 8 4 18 2 10 4 2][1 2 3 1 2 1 1 1 2 1]
__
| |___________
| |
| _______|
| |
| |
| |_
| ___|
| |
| |_____________
| _______________|
| |______
| ____|
| |
| _|
|__|发布于 2016-03-16 22:13:32
第一次打高尔夫球,这也是我第一天和Ruby在一起,所以这可能不是世界上最优雅的事情,但它可以吗?
def f(x)
a=x[0]+[0]
puts" #{'_'*a[0]} "
for i in 0..x[1].length-1
n,m=a[i,2].sort
puts"|#{' '*a[i]}|\n"*(x[1][i]-1)+'|'+' '*n+(a[i+1]<1?'_':m>a[i]?'|':' ')+'_'*(m-n-1)+(n<a[i]?'|':'')
end
endhttps://codegolf.stackexchange.com/questions/75626
复制相似问题