バックグラウンド
ポリオミノが呼び出されたL-凸それはL字型パス、基本方向に行くと一度最大で方向を変えるパスで、他のタイルへのタイルから移動することができます場合、。たとえば1
、図のs のポリオミノ
0 0 1 1 1 0
1 1 1 1 0 0
1 1 0 0 0 0
は、左下から1
右上への両方のL字型パスに1
aが含まれているため、L凸ではありません0
。
0>0>1>1>1 0
^ ^
1 1 1 1 0 0
^ ^
1>1>0>0>0 0
ただし、1
この図のs のポリオミノはL凸です。
0 1 1 1 0 0
1 1 1 1 1 1
0 1 1 0 0 0
入力
入力は、言語のネイティブ形式のビットの2D配列、または言語に配列がない場合は改行区切りの文字列です。少なくとも1つ含むことが保証されています1
。
出力
1
s のセットがL凸のポリオミノの場合、出力は真の値になり、そうでない場合は偽の値になります。これらの出力は一貫している必要があります。すべてのL凸入力に対して同じ真理値を出力し、他の入力に対して同じ偽値を出力する必要があります。1
sの切断されたセット(polyominoではない)は、偽の出力をもたらすことに注意してください。
ルールとスコアリング
完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。
テストケース
これらのテストケースは、配列を回転または反映する場合、または0
sの行を任意の境界に追加する場合にも機能するはずです。
False instances
01
10
111
101
111
1101
1111
1110
1100
1000
0011
01100
11110
01110
00110
011000
011110
001111
True instances
1
01
11
010
111
010
001
011
111
11100
11110
01100
01000
011000
011000
111100
111111
001000