Aynı harf küpünü birden fazla kullanmama kuralı göz ardı edilirse, bir kelimenin keyfi olarak büyük Boggle ızgarasında nasıl düzenlenebileceğini düşünün . Ayrıca sınırsız sayıda harf küpünüz olduğunu (tüm harflerin mevcut olduğu) ve sadece olduğunu varsayalım .Qu
Q
Kelime MISSISSIPPI
sadece 6 küp kullanılarak düzenlenebilir. İşte olası bir düzenleme:
S
MIS
PP
M
Biz başlayarak tüm kelime yazılana kadar yatay, dikey veya çapraz olarak herhangi bir adımı tekrar tekrar atıyoruz.
Şaşırtıcı bir şekilde, daha uzun bir deyimin AMANAPLANACANALPANAMA
de sadece 6 küpe ihtiyacı var:
MAN
PLC
Bununla birlikte, daha uzun, daha karmaşık dizeler için gereken minimum küp sayısı her zaman açık değildir.
Meydan okuma
Bir dizeyi alan ve bu Boggle benzeri bir şekilde minimum sayıda küp kullanılacak şekilde düzenleyen bir program yazın . (Ortaya çıkan ızgaranın boyutları ve boş hücre sayısı önemsizdir.)
Boş bir ızgara hücresi olarak kullanıldığından, boşluk ( her biri 21 - 7E altıgen kodları) dışında yazdırılabilir her ASCII karakteri için sınırsız sayıda küpünüz olduğunu varsayın . Yalnızca yazdırılabilir ASCII dizeleri (boşluklar olmadan) girilir.
Giriş stdin'den veya komut satırından alınmalıdır. Çıktı stdout'a (veya en yakın alternatife) gitmelidir.
Çıktıda satırbaşları veya sondaki satır satırları ve boşluklar iyi (ancak umarım aşırı bir miktar yoktur).
Dize uzadıkça arama alanı katlanarak patlar, ancak algoritmanızı verimli hale getirmeye çalışmanız gerekmez (bu hoş olurdu). Bu yüzden en kısa çözüm kod golf, olduğu bayt içinde kazanır.
Misal
Giriş Oklahoma!
(minimum 8 karakter) olsaydı, bunların hepsi tam olarak 8 doldurulmuş ızgara hücresine sahip oldukları ve (revize edilmiş) Boggle okuma modelini izledikleri için geçerli çıktılar olurdu:
Oklaho
!m
veya
!
Oamo
klh
veya
lkO
!amo
h
vb.