Bir çok satırlı dize alır bir program veya fonksiyon yazın 0'ler ve 1' s. Dizede başka hiçbir karakter bulunmayacak ve dize her zaman dikdörtgen olacak (tüm satırlar aynı sayıda karaktere sahip olacak), boyutları 1 × 1 kadar küçük olacak, ancak aksi halde 0'ler ve 1' ler isteğe göre düzenlenebilir.
Sen dize isteğe bağlı sondaki yeni satır olduğunu varsayalım olabilir ve istenirse herhangi iki farklı kullanabilir yazdırılabilir ASCII yerine karakterleri 0ve 1.
Baskı veya iade truthy değeri ise bütün bir yolun bağlı bölgelerini hem 0'ler ve 1' ler vardır dizede katı dikdörtgenler , başka çıkışı falsy değer .
Bir yol bağlantılı bölge arasında 0'herhangi birinden elde edilen ler vasıtasıyla 0bölgede, diğer 0' in sadece yukarı hareket ulaşılabilir, aşağı, sol ve sağ diğer 0sitesindeki (ve değil , çapraz hareket olmayan herhangi bir hareket 1, ve dizi sınırları dışına çıkmamak ). Aynı fikir 1yola bağlı bölgeler için de geçerlidir .
Bir katı dikdörtgen bir 0bireyin vasıtasıyla dikdörtgen tüm alanı ile doldurulur 0s 've hiçbir 1Var. Aynı fikir 1sağlam dikdörtgenler için de geçerlidir .
Bayt cinsinden en kısa kod kazanır. Tiebreaker daha erken bir cevaptı.
(Dize, toroidal sınır koşulları ile sarılmadığını unutmayın .)
Örnekler
1) Bu giriş dizgisi 3 yola bağlı bölgeye (2 için 0ve 1 için 1) sahiptir. Yalnızca sağ alt 00bölge sağlam bir dikdörtgen olsa da, sonuç yanlış olur.
0011
0111
0100
2) Bu giriş dizgisi 4 yola bağlı bölgeye sahiptir (her ikisi için de 2 0ve 1). Hepsi sağlam dikdörtgenler, bu yüzden çıktı çok garip olurdu.
0011
0011
1100
3) Bu giriş 2 yola bağlı bölgeye sahiptir, ancak bunlardan sadece bir tanesi katı bir dikdörtgendir, bu nedenle çıktı yanlış olur.
00000000
01111110
00000000
4) Bu giriş sadece 1 yola bağlı bölgeye sahiptir ve temelde sağlam bir dikdörtgendir, bu nedenle çıktı truthy'dir.
11111111
11111111
11111111
Test Kılıfları
Bir Tsadece Giriş dizesi araçları truthy altında, Faraçlar falsy.
0
T
1
T
00
T
01
T
10
T
11
T
0000000
T
1111111
T
011100100100101100110100100100101010100011100101
T
00
11
T
01
10
T
01
11
F
00
01
F
11
11
T
110
100
F
111
000
T
111
101
111
F
101
010
101
T
1101
0010
1101
0010
T
1101
0010
1111
0010
F
0011
0111
0100
F
0011
0011
1100
T
00000000
01111110
00000000
F
11111111
11111111
11111111
T
0000001111
0000001111
T
0000001111
0000011111
F
0000001111
1000001111
F
1000001111
1000001111
T
1110100110101010110100010111011101000101111
1010100100101010100100010101010101100101000
1110100110010010110101010111010101010101011
1010100100101010010101010110010101001101001
1010110110101010110111110101011101000101111
F