7
1次元の有限タイル
この課題の目的は、1次元の断片のコレクションを並べて有限の連続チャンクを形成できるかどうかを判断することです。 ピースは 0と1の空でない有限のシーケンスであるものと開始し、終了します。いくつかの可能な部分があり1、101、1111、1100101。 タイリングとは、1つの連続したブロックが形成されるようにピースを配置することを意味します。ある作品の1つは、別の作品の1つの場所ではなく、ゼロの場所を占めることができます。 同様に、1つを「固体材料」とみなし、0を「穴」とみなす場合、穴を残さずに1つのストレッチを形成するようにピースを合わせる必要があります。 タイルを形成するには、ピースを1次元空間に沿ってのみシフトできます。(それらを分割したり、反映したりすることはできません)。各ピースは1回だけ使用されます。 例 三枚101、11、101各片は必要シフトで表され、以下に示すようにタイル張りすることができます。 101 11 101 したがって、取得されたタイルは 111111 2番目の例として、ピース11011と1001101タイルを並べることはできません。特に、シフト 11011 1001101 衝突するものが2つあるため、無効です。そして 11011 1001101 結果にゼロが含まれるため、無効です。 追加のルール 入力は、 1個以上のコレクションです。合理的な形式が許可されます。例えば: 文字列のリスト。各文字列には、2つの異なる一貫した文字を含めることができます。 いくつかの配列。各配列には1つのピースの位置が含まれます。 各数のバイナリ表現などの(奇数)整数のリストは、ピースを定義します。 出力は、タイリングが可能であり、そしてfalsy値そうでない場合truthy値であるべきです。出力値は一貫している必要はありません。つまり、入力ごとに異なる場合があります。 プログラムまたは機能にはいずれにも、許可されているプログラミング言語。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース 各入力は異なる行にあります 真実の 1 111 1, 1 11, 111, 1111 101, 11, 1 101, 11, 101 10001, 11001, 10001 100001, 1001, …