はしごを組み立てる
前書き はしごを作りたいです。このために、私は廃品置き場から、穴の開いた2つの長いボードを清掃しました。これらの穴にステップを配置したいと思います。ただし、穴が均等に配置されていないため、ステップが少し不安定になり、それらに必要なロッドの量を見積もることが難しくなります。あなたの仕事は私のために計算をすることです。 入力 入力は、2つのボードを表す整数の配列として与えられる2ビットのベクトルです。A 0は、穴のない1オード(距離の任意の単位)1のセグメントを表し、aは、単一の穴のある1オードのセグメントを表します。配列の長さは異なり、1sの数も異なりますが、空にはなりません。 はしごを次のように構築します。まず、2つのボードを正確に1オード離して配置し、左端を揃えます。インデックスごとに、最初のボードのth穴と2番目のボードiのith穴の間の距離を測定し、iロッドを切断して、2つの穴の間に取り付けます。いずれかのボードの穴がなくなると停止します。 出力 出力は、ステップに必要なロッドの合計量であり、オードで測定されます。出力は、少なくとも6桁の有効数字まで正しいはずです。 例 入力[0,1,1,0,1,1,1,1,0,0]とを考慮してください[1,0,0,1,1,1,0,0,1]。結果のはしごは次のようになります。 このラダーのロッドの全長は7.06449510224598オードです。 ルール 関数または完全なプログラムのいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース [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