Bu sabah asansör düğmelerine bakarken ilginç bir bulmaca geldi.
2x3 ızgarasına uyan tüm Braille kalıplarının bir listesini oluşturmanız gerekir . #
Bir yumru belirtmek için bir karma ve -
düz bir alanı belirtmek için bir tire kullanın.
Beklenen çıktı örneği:
#-
--
--
##
--
--
#-
#-
--
(and so on...)
Kurallar:
- Programınız her bir deseni en az bir karakter veya satırla ayırmalıdır.
- Desenler herhangi bir sırada oluşturulabilir.
- Braille alfabesinin ne kullandığına bakılmaksızın tüm desenler üretilmelidir. Tamamen boş desen isteğe bağlıdır.
- Yalnızca benzersiz yumru modelleri oluşturulmalıdır. Aşağıdaki kalıplar, çarpmalar aynı düzenlemede olduğu için eşit kabul edilir. Bu durumlarda, sol üst köşeye en yakın deseni kullanın (yani, bu örnekteki ilk seçenek.)
#- -# -- --
#- -# #- -#
-- -- #- -#
Bonus puan Eğer herhangi biri için çalışması eğer x tarafından y büyüklüğünde ızgara. ( DÜZENLEME: Makul sınırlar dahilinde. Kavramın kanıtı için 4x4'e kadar yeterlidir.)
Wiki makalesini okurken, bu bulmacanın kurallarını karşılayan 45 desen (boşluk dahil) var.
x
xy
ilk üretmek ızgaraları2^(xy)
karşı 0'a maske olanlar dışarı numaraları ve filtreyi2^x - 1
ya(2^(xy+1) - 1)/(2^y - 1)
.