背景
甲四角被称为L-凸,如果有可能从任何瓦到任何其他瓦片行程由L形路径,即,云在基本方向并且至多一次改变方向的路径。例如,1
图中的s 的多米诺骨牌
0 0 1 1 1 0
1 1 1 1 0 0
1 1 0 0 0 0
不是L凸的,因为从左下角1
到右上角的两个L形路径1
都包含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
s 的集合是L凸的多米诺骨牌,则您的输出应为真值,否则为f。这些输出必须是一致的:对于所有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