Zemini giriş ve çıkış olarak tanımlayan bir dize alan veya zeminin verilen desenini oluşturabilecek en basit meta döşemenin alanını döndüren bir program veya işlev yazmalısınız.
Zemin kare bir ızgaranın parçasıdır. Her kare biçiminde (ile temsil edilen ya mavisi veya siyah renkli olan a
ve b
girdi).
Örnek kat:
aaaa
ababab
aaaaa
Bir meta döşeme
- Bir inşa edilmiştir
N
tarafındanM
masmavi ve siyah kareler dikdörtgen meta karo - kullanılan meta-döşemeler çeviriyle aynıdır (bunları döndüremez veya yansıtamazsınız)
- iki meta döşemenin kenarları bağlıysa, tüm uzunlukları boyunca bağlanmalıdırlar (örn. meta döşemeler alanı ızgara benzeri bir şekilde döşer)
Örnek bir meta-kutucuk:
ba
aa
ve oluşturduğu meta döşeme:
.
.
.
babababa
aaaaaaaa
... babababa ...
aaaaaaaa
babababa
aaaaaaaa
.
.
.
Bu meta döşeme, sol harflerin gösterdiği gibi gösterilen üst katı oluşturur:
.
.
.
********
***aaaa*
... *ababab* ...
*aaaaa**
********
********
.
.
.
Meta döşemesi alanı daha küçükse, bir meta döşemesi diğerinden daha basittir. Örneğimiz, 2*2 = 4
örnek kat için mümkün olan en küçük alana sahip bir alana sahiptir . Dolayısıyla çıktı 4
örnek için olmalıdır .
Giriş
- Karakterlerden oluşan
a b space
venewline
en az bira
veya içeren bir dizeb
. - Harfler (
ab
) 4 bağlantılı (yan yana bağlı) bir şekil oluşturur. - Satırların önünde gereksiz boşluk olmayacaktır, yani
a
veya ile başlayan en az bir satır olacaktırb
. İki giriş biçimi arasından seçim yapabilirsiniz:
- (Örneklerde görüldüğü gibi) satırların sonunda gereksiz boşluk yoktur.
- Tüm satırları en uzun satırla aynı uzunlukta yapmak için satırların sağ tarafındaki boşluklar.
Sondaki satır başı isteğe bağlıdır.
Çıktı
- Tek bir tamsayı, döşemesi giriş katını içeren mümkün olan en küçük meta döşemenin alanı.
Örnekler
Örnekler tire ile sınırlandırılmıştır. Bir örneğin üç kısmı girdi, çıktı ve olası en küçük meta döşemelerden biridir.
a
1
a
-----------------
aaaa
aaa
a
1
a
-----------------
aabaab
abaa
aaba
6
aab
aba
-----------------
aabaab
a a a
aabab
18
aabaab
aaaaaa
aababa
-----------------
ba
aaab
8
baaa
aaab
-----------------
aaaa
ababb
aaaa
10
aaaaa
ababb
-----------------
a aa
ab ba
aba
6
aa
ab
ba
-----------------
aaaa
abab
aaaa
4
aa
ab
-----------------
ba
ba
b
4
ba
ab
-----------------
baa
aba
aab
9
baa
aba
aab
-----------------
aaaa
aabaa
aaaa
6
aaa
aab
Bu kod golf yani en kısa giriş kazanır.