首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建造梯子

建造梯子
EN

Code Golf用户
提问于 2015-03-02 17:24:09
回答 7查看 2.4K关注 0票数 26

Introduction

我想建一个梯子。为此,我从垃圾场挖出了两个有洞的长木板,我想把台阶放进这些洞里。然而,洞的位置不均匀,所以台阶会有点摇摇晃晃的,我发现很难估计我需要的杆的数量。你的工作是替我算计。

输入

您的输入是两个位向量,以整数数组的形式给出,它们代表两个板。0表示没有孔的一个aud (任意距离单位)的一个段,而1表示一个带一个孔的aud的段。数组可能有不同的长度,包含不同数量的1s,但它们不会是空的。

我将按以下方式构造我的梯子。首先,我把两个板完全分开,并对齐他们的左端。对于每个指标i,我测量了第一板的i第四孔与第二板的i第四孔之间的距离,切割了一根杆,并把它连接在两孔之间。我一用完一块木板上的洞就停下来。

输出

您的输出是我需要的步骤所需的总棒量,以aud为单位。输出应该正确到至少六个有效数字。

示例

考虑输入[0,1,1,0,1,1,1,1,0,0][1,0,0,1,1,1,0,0,1]。由此产生的梯子如下所示:

这个梯子上的杆的总长度是7.06449510224598 auds。

规则

您可以编写函数或完整的程序。最低字节数获胜,标准漏洞被禁止。

测试用例

代码语言:javascript
复制
[0] [0] -> 0.0
[0] [1,0] -> 0.0
[1,0,0] [1,1,1,1,1] -> 1.0
[0,1,0,1] [1,0,0,1] -> 2.414213562373095
[0,1,1,0,1,1,1,1,0,0] [1,0,0,1,1,1,0,0,1] -> 7.06449510224598
[1,1,1,1,1] [0,0,1,1,0,1,0,0,1] -> 12.733433128760744
[0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0] [0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1] -> 20.38177416534678
EN

回答 7

Code Golf用户

回答已采纳

发布于 2015-12-06 10:47:11

J,20字节

代码语言:javascript
复制
4+/@:o.(<0 1)|:-/&I.

它使用了MickyT在R中的回答中的技巧。

(<0 1)|:给出了矩阵的对角线。有关其他部分的解释,请参见FUZxxl的回答

票数 3
EN

Code Golf用户

发布于 2015-03-03 01:19:30

Python,85

代码语言:javascript
复制
lambda*A:sum(abs(x-y+1j)for x,y in zip(*[[i for i,x in enumerate(l)if x]for l in A]))

这与麦克溶液类似。将0's和1's的列表转换为一个索引的有序列表,然后对各个元素之间的距离进行求和。

票数 10
EN

Code Golf用户

发布于 2015-03-02 22:58:09

R,67

使用外部对索引孔执行不同的操作。Diag返回要求不同。然后把计算出的距离和起来

代码语言:javascript
复制
function(a,b)sum((diag(outer(which(a==1),which(b==1),"-"))^2+1)^.5)

R Fiddle中的试验运行。我已经把它包装在一个打印,以显示返回符合规格。

代码语言:javascript
复制
> print((function(a,b)sum((diag(outer(which(a==1),which(b==1),"-"))^2+1)^.5))(c(0,1,1,0,1,1,1,1,0,0),c(1,0,0,1,1,1,0,0,1)),digits=10)
[1] 7.064495102
> print((function(a,b)sum((diag(outer(which(a==1),which(b==1),"-"))^2+1)^.5))(c(1,1,1,1,1),c(0,0,1,1,0,1,0,0,1)),digits=10)
[1] 12.73343313
>
票数 5
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/47258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档