Arka fon
Bir arsa almak ve evimi üzerine inşa etmek istiyorum. Evim dikdörtgen olmalı ve mümkün olduğunca büyük olmalıdır; ancak, mevcut araziler üzerine inşa edemediğim çok fazla kayalık alan var ve ben arazilerdeki potansiyel bir evi yerleştirmekte zorlanıyorum. Benim için arazileri analiz eden bir program yazmanı istiyorum.
Giriş ve çıkış
Girişiniz, herhangi bir makul formatta, en az 1 × 1 boyutunda dikdörtgen bir 2D bit dizisidir. Dizi bir arsa temsil eder; 1
evimi inşa edebileceğim "iyi" bölgeler ve evin inşa edilemeyeceği 0
"kayalık" bölgeler.
Çıktınız, 1
giriş dizisindeki katı bir dikdörtgenin maksimum alanı olacaktır . Arsaya yapabileceğim en büyük evin alanını temsil ediyor. 1
Girişte s yoksa , çıkışın olduğunu unutmayın 0
.
Örnek
Girişi düşünün
101
011
111
S'nin en büyük dikdörtgeni 1
sağ alt köşedeki 2 × 2 dikdörtgendir. Bu doğru çıktı olduğu anlamına gelir 4
.
Kurallar ve puanlama
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez.
Test durumları
0
-> 0
1
-> 1
00
00
-> 0
01
10
-> 1
01
11
-> 2
111
010
111
-> 3
101
011
111
-> 4
0111
1110
1100
-> 4
1111111
1110111
1011101
-> 7
111011000
110111100
001111110
011111111
001111110
000111100
000011000
-> 20
000110000
110110010
110111110
110011100
010011111
111111111
111101110
-> 12
plow
.