Bạn nên viết một chương trình hoặc hàm nhận chuỗi mô tả sàn là đầu vào và đầu ra hoặc trả về diện tích của lát gạch meta đơn giản nhất có thể tạo ra mô hình sàn đã cho.
Sàn là một phần của lưới vuông. Mỗi ô vuông được tô màu xanh hoặc đen (đại diện bởi a
và b
trong đầu vào).
Một ví dụ sàn:
aaaa
ababab
aaaaa
Ốp lát
- được xây dựng từ một siêu hình chữ nhật
N
củaM
hình vuông màu xanh và hình vuông màu đen - các siêu gạch được sử dụng giống hệt với bản dịch (bạn không thể xoay hoặc phản chiếu chúng)
- nếu các cạnh của hai gạch meta được kết nối, chúng sẽ kết nối dọc theo toàn bộ chiều dài của chúng (tức là gạch lát gạch meta không gian theo kiểu lưới)
Một ví dụ meta-gạch:
ba
aa
và ốp lát được tạo bởi nó:
.
.
.
babababa
aaaaaaaa
... babababa ...
aaaaaaaa
babababa
aaaaaaaa
.
.
.
Ốp lát meta này tạo ra tầng hiển thị phía trên như các chữ cái bên trái hiển thị:
.
.
.
********
***aaaa*
... *ababab* ...
*aaaaa**
********
********
.
.
.
Một lát gạch meta đơn giản hơn so với cái khác nếu diện tích của siêu gạch của nó nhỏ hơn. Ví dụ của chúng tôi có diện tích 2*2 = 4
nhỏ nhất có thể cho tầng ví dụ. Vì vậy, đầu ra nên là 4
ví dụ.
Đầu vào
- Một chuỗi bao gồm các ký tự
a b space
vànewline
chứa ít nhất mộta
hoặcb
. - Các chữ cái (
ab
) tạo thành một hình dạng 4 kết nối (kết nối song song). - Sẽ không có khoảng trắng không cần thiết ở phía trước các hàng tức là sẽ có ít nhất một hàng bắt đầu bằng
a
hoặcb
. Bạn có thể chọn hai định dạng đầu vào:
- Không có khoảng trắng không cần thiết ở cuối hàng (như đã thấy trong các ví dụ).
- Khoảng cách ở bên phải của các hàng để làm cho tất cả các hàng có cùng độ dài với hàng dài nhất.
Trailing newline là tùy chọn.
Đầu ra
- Một số nguyên duy nhất, diện tích của gạch meta nhỏ nhất có thể có lát gạch chứa tầng đầu vào.
Ví dụ
Ví dụ được phân định bằng dấu gạch ngang. Ba phần của một ví dụ là đầu vào, đầu ra và một trong những gạch meta nhỏ nhất có thể.
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
Đây là mã golf nên mục ngắn nhất sẽ thắng.