Cửa sổ là một hình vuông nghệ thuật ASCII có chiều dài cạnh lẻ ít nhất là 3, với một đường viền ký tự duy nhất xung quanh cạnh cũng như các nét dọc và ngang ở giữa:
#######
# # #
# # #
#######
# # #
# # #
#######
Cửa sổ MS là một cửa sổ nơi đường viền chỉ được tạo từ các ký tự M
và S
. Nhiệm vụ của bạn là viết một chương trình (hoặc hàm) lấy một chuỗi và xuất ra một giá trị trung thực nếu đầu vào là một Cửa sổ MS hợp lệ và giá trị falsey nếu không.
Thông số kỹ thuật
- Bạn có thể lấy đầu vào là một chuỗi phân tách dòng mới hoặc một chuỗi các chuỗi đại diện cho mỗi dòng.
- Đường viền của Cửa sổ MS có thể chứa hỗn hợp các ký tự M và S, nhưng bên trong sẽ luôn bao gồm các khoảng trắng.
- Bạn có thể chọn chỉ phát hiện các cửa sổ có dòng mới, hoặc chỉ cửa sổ mà không theo dõi dòng mới, nhưng không phải cả hai.
Các trường hợp thử nghiệm
Sự thật:
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