Ein Fenster ist ein ASCII-artiges Quadrat mit einer ungeraden Seitenlänge von mindestens 3, einem einzelnen Zeichenrahmen am Rand sowie vertikalen und horizontalen Strichen in der Mitte:
#######
# # #
# # #
#######
# # #
# # #
#######
Ein MS-Fenster ist ein Fenster, in dem der Rahmen nur aus den Zeichen M
und besteht S
. Ihre Aufgabe ist es, ein Programm (oder eine Funktion) zu schreiben, das eine Zeichenfolge verwendet und einen Wahrheitswert ausgibt, wenn die Eingabe ein gültiges MS Window ist, und einen Falsey-Wert, wenn dies nicht der Fall ist.
Spezifikationen
- Sie können die Eingabe als durch Zeilenumbrüche getrennte Zeichenfolge oder als ein Array von Zeichenfolgen für jede Zeile verwenden.
- Der Rand eines MS-Fensters kann eine Mischung aus M- und S-Zeichen enthalten, das Innere besteht jedoch immer aus Leerzeichen.
- Sie können auswählen, ob nur Fenster mit nachgestellten Zeilen oder nur Fenster ohne nachgestellte Zeilen erkannt werden sollen, jedoch nicht beide.
Testfälle
Wahrheit:
MMM
MMM
MMM
SMSMS
M M S
SMSMM
S S M
SMSMS
MMMMMMM
M S M
M S M
MSSSSSM
M S M
M S M
MMMMMMM
Falsey:
Hello, World!
MMMM
MSSM
MS M
MMMM
MMSMM
M S.M
sSSSS
M S M
MMSMM
MMMMMMM
M M M
MMMMMMM
M M M
MMMMMMM
MMMMMMM
M M M M
MMMMMMM
M M M M
MMMMMMM
M M M M
MMMMMMM
MMSSMSSMM
M M M
S S S
S S S
MMSSMSSMM
S S S
S S S
M M M
MMSSMSSMM