Sie sollten ein Programm oder eine Funktion schreiben, die eine Zeichenfolge empfängt, die den Boden als Eingabe und Ausgabe beschreibt, oder den Bereich der einfachsten Meta-Kacheln zurückgibt, die das gegebene Muster des Bodens erzeugen könnten.
Der Boden ist Teil eines quadratischen Gitters. Jede quadratische Kachel ist entweder azurblau oder schwarz gefärbt (dargestellt durch aund bin der Eingabe).
Ein Beispielboden:
aaaa
ababab
aaaaa
Eine Meta-Kachelung
- wird von einem eingebauten
NvonMrechteckiger meta-Kachel von himmelblau und schwarzen Quadraten - Die verwendeten Meta-Kacheln sind bis zur Übersetzung identisch (Sie können sie nicht drehen oder spiegeln).
- Wenn die Seiten von zwei Meta-Kacheln verbunden sind, sollten sie sich über ihre gesamte Länge verbinden (dh Meta-Kacheln kacheln den Raum gitterartig).
Ein Beispiel für eine Meta-Kachel:
ba
aa
und die von ihm erstellten Meta-Kacheln:
.
.
.
babababa
aaaaaaaa
... babababa ...
aaaaaaaa
babababa
aaaaaaaa
.
.
.
Diese Meta-Kacheln erzeugen das obere angezeigte Stockwerk, wie die linken Buchstaben zeigen:
.
.
.
********
***aaaa*
... *ababab* ...
*aaaaa**
********
********
.
.
.
Eine Meta-Kachelung ist einfacher als eine andere, wenn der Bereich ihrer Meta-Kachelung kleiner ist. Unser Beispiel hat eine Fläche, 2*2 = 4die für den Beispielboden so klein wie möglich ist. Die Ausgabe sollte also 4für das Beispiel sein.
Eingang
- Eine Zeichenfolge, die aus den Zeichen besteht
a b spaceundnewlinemindestens einaoder enthältb. - Die Buchstaben (
ab) bilden eine 4-verbundene (nebeneinander verbundene) Form. - Es gibt keine unnötigen Leerzeichen an der Vorderseite der Zeilen, dh es gibt mindestens eine Zeile, die mit
aoder beginntb. Sie können zwischen zwei Eingabeformaten wählen:
- Kein unnötiges Leerzeichen am Ende der Zeilen (wie in den Beispielen gezeigt).
- Leerzeichen auf der rechten Seite der Zeilen, damit alle Zeilen dieselbe Länge wie die längste Zeile haben.
Nachgestellte Zeilenumbrüche sind optional.
Ausgabe
- Eine einzelne Ganzzahl, die Fläche der kleinstmöglichen Meta-Kachel, deren Kachel die Eingabeetage enthält.
Beispiele
Beispiele werden durch Bindestriche begrenzt. Die drei Teile eines Beispiels sind Eingabe, Ausgabe und eine der möglichen kleinsten Meta-Kacheln.
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
Dies ist Code Golf, so dass der kürzeste Eintrag gewinnt.