0'ların dikdörtgen bir arazi üzerinde çim karelerini temsil ettiği ve 1'lerin çitleri temsil ettiği iki boyutlu bir boole değerleri dizisi düşünün.
2B diziyi giriş olarak kabul eden bir işlev yazın ve bir çite girmeden sadece kuzey / doğu / batı / güney hareketlerini kullanarak herhangi bir çim alanından başka bir çim alanına gidip gidemeyeceğinizi belirler.
Dizideki herhangi bir çim alanı çitler tarafından tamamen çevrilmişse (yani dizideki diğer tüm çim alanlarına ulaşmak için N / E / W / S'ye gidemezsiniz) işlev yanlış döndürmelidir; aksi takdirde, doğru dönmelidir.
Aşağıda, girişiniz olarak kullanabileceğiniz iki örnek dizi bulunmaktadır, ancak işleviniz yalnızca bunları değil, herhangi bir 2B boole değeri dizisini işleyebilmelidir:
0 0 0 0 0
0 1 0 0 0
0 1 1 1 1
0 0 0 0 0
0 0 0 1 1
(should return true)
0 1 0 1 0
0 1 1 0 0
0 0 0 0 0
0 0 0 1 0
1 1 1 1 0
(should return false, since the middle 0 in the top row is fully enclosed)
En kısa çalışma kodu kazanır. Bir hafta geçtikten sonra veya 24 saat içinde yeni başvuru olmadıktan sonra kazananı seçeceğim.
1 1 1
; 1 0 1
; 1 1 1
? Merkezde bir adet çim hücresi var. Görsel olarak merkezdeki çim hücresi çitlerle tamamen çevrilidir, ancak tanımınıza göre değildir.