Uma Janela é um quadrado de arte ASCII com comprimento de lado ímpar de pelo menos 3, com uma borda de caractere único ao redor da borda e traços verticais e horizontais no meio:
#######
# # #
# # #
#######
# # #
# # #
#######
Uma janela do MS é uma janela em que a borda é feita apenas dos caracteres M
e S
. Sua tarefa é escrever um programa (ou função) que pega uma string e gera um valor verdadeiro se a entrada for uma janela MS válida e um valor falsey se não for.
Especificações
- Você pode considerar a entrada como uma sequência separada por nova linha ou uma matriz de sequências representando cada linha.
- A borda de uma janela do MS pode conter uma mistura de caracteres M e S, mas o interior sempre será composto de espaços.
- Você pode optar por detectar apenas janelas com novas linhas à direita, ou apenas janelas sem novas linhas, mas não as duas.
Casos de teste
Verdade:
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