Latar Belakang
Sebuah polyomino disebut L-cembung , apakah itu mungkin untuk wisata dari setiap tile untuk setiap genteng lain dengan jalur L-berbentuk, yaitu jalan yang masuk dalam arah mata angin dan perubahan arah paling banyak sekali. Misalnya, polyomino dari 1
s pada gambar
0 0 1 1 1 0
1 1 1 1 0 0
1 1 0 0 0 0
bukan L-cembung, karena kedua jalur berbentuk L dari kiri bawah 1
ke kanan atas 1
mengandung 0
:
0>0>1>1>1 0
^ ^
1 1 1 1 0 0
^ ^
1>1>0>0>0 0
Namun, poliomino 1
s pada gambar ini adalah L-cembung:
0 1 1 1 0 0
1 1 1 1 1 1
0 1 1 0 0 0
Memasukkan
Input Anda adalah array 2D bit dalam format asli bahasa Anda, atau sebagai string yang dibatasi baris baru jika bahasa kami tidak memiliki array. Dijamin mengandung setidaknya satu 1
.
Keluaran
Output Anda akan menjadi nilai kebenaran jika himpunan 1
s adalah polomino L-cembung, dan nilai palsu jika tidak. Output ini harus konsisten: Anda harus menampilkan nilai kebenaran yang sama untuk semua input L-cembung, dan nilai falsy yang sama untuk yang lain. Perhatikan bahwa himpunan terputus 1
s (yang bukan polyomino) menghasilkan output palsu.
Aturan dan Penilaian
Anda dapat menulis program lengkap atau fungsi. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Uji Kasus
Kasing uji ini harus berfungsi juga jika Anda memutar atau merefleksikan array, atau menambahkan baris 0
ke batas mana pun.
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