Bir ilave piramit verildiğinde , çözülüp çözülemeyeceğini belirleyin. Bir ilave piramit , her biri altındaki sayıdan daha az bir sayıya sahip katmanlardan oluşur . Katman , olarak sembolize edilir . temel katmandır ve , üzerindeki . th sayı olarak ifade edilir . en soldaki sayısıdır ve nin sağındaki sayıdır . Sen görselleştirmek olabilir üstünde ikamet edenve ortada , dolayısıyla "toplama piramidi " adı .
- , yani piramitteki her sayı sıfır olmayan bir pozitif tamsayıdır.
- , yani piramidin taban katmanında olmayan her sayı, altındaki iki sayı.
- Eğer sahip numaraları, sahiptir numara, bu nedenle en sağdaki sayıdır . Daha basit terimlerle, her katmanın altındaki kattan bir sayı daha azdır.
Bir ilave piramit bulmacası , bazı sayıların kaldırıldığı ( İle değiştirilen ) bir ilave piramittir . Çözümü, bir ek piramit , burada , yani bulmacada başlangıçta mevcut olan sayılar değiştirilmedi. Böyle bir bulmacanın birden fazla çözümü olabilir.
İşiniz, bir piramit bulmacası verildiğinde, tam olarak bir çözümü olup olmadığını belirlemek için.
Giriş
Aşağıdaki formlardan herhangi birinde girdi alabilirsiniz, ancak tutarlı olun:
- Katmanlar dizisi.
- Öğeler (her seferinde yalnızca bir kez kullanılır) ve sol ve sağ dolgu arasında bir ayırıcı olarak tutarlı bir pozitif olmayan tamsayı değeri kullanan bir piramit şeklinde katman katmanı. Ayırıcı ve dolgu aynı olmalıdır.
- Tutarlı geçerli bir sağ veya sol dolguya sahip katman dizisi (bu durumda tutarlı olmalı ve sağ ve sol dolguları karıştırmamalısınız).
Eksik bir sayıyı temsil etmek için kesinlikle pozitif bir tam sayı olmayan tutarlı bir değerin kullanılması gerektiğini lütfen unutmayın; bu değer dolgu olarak kullanılamaz. Ayrıca, katmanları birleştirebilirsiniz (yine de ayırabilirsiniz) ve sıralama, tabandan üste veya üstten tabandan olabilir.
Çıktı
Biri benzersiz bir çözümün varlığını ve diğeri bir çözümün yokluğunu veya birden fazla çözümün varlığını temsil eden iki tutarlı ayrı değerden biri.
kurallar
- ise her zaman doğru olacaktır. , yani girdinin, üç sayının tamamı biliniyorsa toplamı olmayan diğer iki sayının üstünde bir sayı içermemesi garanti edilir.
- , yani piramit bilinen en az bir sayı içerecektir.
- Yapmayın bunları .
- Bu kod golf , bu yüzden en kısa cevap kazanır! Bununla birlikte, dilinizin "çok ayrıntılı" olması nedeniyle bir çözüm göndermenizi engellemesine izin vermeyin.
Test senaryoları
Tabanına üst katmanları ile bir dizi ile, bu test durumları için kullanılır 0
temsil.
[[10], [0, 0], [0, 2, 0], [0, 0, 0, 1]] -> True
[[32], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]] -> True
[[0], [1, 1]] -> True
[[1], [0, 0]] -> False
[[10], [5, 5], [2, 3, 2], [0, 0, 0, 0]] -> False
[[5], [0, 0], [0, 0, 0]] -> False
Çalışılan örnekler
Test senaryoları burada çalışılıyor.
Eşsiz çözüm 1
Adım 1: .
Adım 2: .
Adım 3: .
Adım 4: .
5-6. Adımlar 4'e benzer.
İşte burada eşsiz çözümümüz var.
Eşsiz çözüm 2
Adım 1: Burada belirgin bir yaklaşım yok, bu yüzden mümkün olan en düşük değerleri kullanmayı deneyelim.
Adım 2-5: Minimum değerlerin bir çözümle sonuçlandığı görülmektedir, bu nedenle bu tek çözümdür ve bu nedenle benzersizdir.
İpucu: Bu bulmacayla ilgili ek piramit bulmacaları hakkında yeterince düşünürseniz kanıtlayabileceğiniz bir teorem var.
Eşsiz çözüm 3
Adım 1: .
Bu kesinlikle eşsiz bir çözüm.
Çözüm yok 1
, dolayısıyla çözüm yok.
Çözüm yok 2
1-2. Adımlar: .
Oradan , bir çelişki olan izler , bu nedenle çözüm yoktur.
Benzersiz olmayan çözüm
İki çözüm:
En az iki çözüm olduğundan benzersiz bir çözüm yoktur.