Una ventana es un cuadrado de arte ASCII con una longitud lateral impar de al menos 3, con un borde de un solo carácter alrededor del borde, así como trazos verticales y horizontales en el medio:
#######
# # #
# # #
#######
# # #
# # #
#######
Una ventana de MS es una ventana donde el borde está hecho solo de los caracteres M
y S
. Su tarea es escribir un programa (o función) que tome una cadena y genere un valor verdadero si la entrada es una ventana de MS válida, y un valor falso si no lo es.
Presupuesto
- Puede tomar la entrada como una cadena separada por una nueva línea o una matriz de cadenas que representan cada línea.
- El borde de una ventana de MS puede contener una mezcla de caracteres M y S, pero el interior siempre estará compuesto de espacios.
- Puede elegir detectar solo ventanas con nuevas líneas finales, o solo ventanas sin nuevas líneas finales, pero no ambas.
Casos de prueba
Verdad:
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