Một chuỗi có độ dài là một số tam giác dương (1, 3, 6, 10, 15 ...) có thể được sắp xếp thành một "tam giác văn bản bằng nhau" bằng cách thêm một số khoảng trắng và dòng mới (và giữ nó theo cùng thứ tự đọc).
Ví dụ: chuỗi 10 độ dài ABCDEFGHIJ
trở thành:
A
B C
D E F
G H I J
Viết chương trình hoặc hàm có trong một chuỗi như vậy, ngoại trừ nó sẽ chỉ chứa các ký tự 0
và 1
. (Bạn có thể cho rằng đầu vào là hợp lệ.)
Đối với "tam giác văn bản bằng nhau" kết quả, đầu ra (in hoặc trả về) một trong bốn số biểu thị loại đối xứng được trưng bày:
Đầu ra
2
nếu tam giác có đối xứng hai bên. tức là nó có một đường đối xứng từ bất kỳ một góc nào đến trung điểm đối diện.Ví dụ:
0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1
Đầu ra
3
nếu tam giác có đối xứng quay. tức là nó có thể xoay 120 ° mà không thay đổi hình ảnh.Ví dụ:
0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1
Đầu ra
6
nếu tam giác có cả đối xứng song phương và quay. tức là nó phù hợp với các điều kiện để xuất cả hai2
và3
.Ví dụ:
0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0
Đầu ra
1
nếu tam giác không có đối xứng song phương hoặc quay.Ví dụ:
1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là câu trả lời trước đó.
Ngoài một dòng mới theo dõi tùy chọn, chuỗi đầu vào có thể không có cấu trúc hoặc phần đệm không gian / dòng mới - nó phải là đơn giản 0
và 1
của.
Nếu muốn, bạn có thể sử dụng bất kỳ hai ký tự ASCII có thể in riêng biệt nào thay cho 0
và 1
.
Các trường hợp thử nghiệm
Lấy trực tiếp từ các ví dụ.
011 -> 2
101 -> 2
001010 -> 2
1111010111 -> 2
0100110100 -> 3
0011000010 -> 3
101111111010111 -> 3
101001100010000100111 -> 3
0 -> 6
1 -> 6
000 -> 6
100101 -> 6
0000100000 -> 6
110000 -> 1
001101 -> 1
1101111111 -> 1
111111000111111 -> 1
"Xoay" bất kỳ đầu vào nào bằng 120 ° tất nhiên sẽ dẫn đến cùng một đầu ra.