Bir ızgara üzerinde fayans kümesi verildiğinde, belirlemek istiyorum:
- Fayanslar kapalı bir figür oluşturuyorsa
- Döşemenin kenarlarını şeklin kenarı olarak saydığınızda, döşemeler kapalı bir şekil yaparsa
- Önceki iki ifadeden herhangi biri doğruysa, ek karolar ekteki şeklin içine girer ve ilk karolar oluşur.
Oyuncu, bir karo üzerine basıp, aynı renkli karolar zinciri oluşturmak için parmağını diğer karolara sürükleyerek başlayacaktır. Bir sonraki döşemenin geçerli olup olmadığını görmek için giderken kontrol edeceğim. Ör. Oyuncu kırmızı kiremitte başlıyorsa, onların tek sonraki geçerli hamle bitişik kırmızı karo (diyagonallere etmektir yapmak sayımı). Kullanıcı parmağını kaldırdığında, yukarıdaki 3 öğeyi kontrol edebilmem gerekiyor.
Bu yüzden ilk düşüncem, her gittiğimde zincirin geçerliliğini kontrol ettiğimden, oyuncu parmağını kaldırdığında ilk ve son karoların bitişik olup olmadığını kontrol edebileceğimdi. (Ben zaten aynı renk olduklarını biliyorum.) Bitişik olsaydı, kapalı bir figür yaptığım bir önsezim vardı ve buraya büyük bir şey eksik olup olmadığımı görmek için gelecektim ve önsezimin doğru olduğuna dair bir tür mantıksal / matematiksel kanıt (veya yanlış olduğunu kanıtlayan bir örnek).
Ama o zaman 2 numaralı maddeyi düşündüm: Ayrıca, tahtanın kenarını ekteki şeklin bir tarafı olarak kullanan zincirleri de hesaba katmalıyım. Bu durumda, zincirin ilk ve son ürün olacağını değil bitişik olabilir, ama yine de kapalı bir rakam var olacaktır. Şimdi biraz kareye geri döndüm.
Kapalı bir şekil yapıp yapmadıklarını anlamak için bu ızgara koordinatları zinciriyle ne yapabilirim? Bir keresinde Ve do ben kapalı bir rakam var biliyorum, onun sınırları içinde kalan tüm döşemelerin ek listesini almak için en iyi yolu nedir?
Yukarıda, bu testin 4 olası sonucunun ne olabileceğini umduğum resimleri çizdim.
Zincir kapalı bir şekil oluşturmaz.
Zincir kapalı bir figür yapar.
Tahtanın kenarlarını şeklin kenarı (veya birden fazla kenarı) olarak sayarsanız, zincir kapalı bir rakam yapar.
Zincir ekli bir şekil yapar, ancak oluşturulan şeklin bir parçası olmayan ekstra veri noktaları (kullanıcı tarafından zincirin bir parçası olarak geçerli olarak seçilir) vardır.
Durum 4 en zor olanıdır, çünkü ekteki şekli ve içine düşen parçaları bulmak için "ekstra" zincir bağlantılarını çıkarmanız gerekir (ancak "kapatılmamış" alanın etrafında değil).
Yani ... Herkes bunu çözmek için iyi bir yol, ya da benim için bir başlangıç noktası var mı? Bu noktada bir çember çiziyorum ve başka bir göz seti kullanabilirim.