Строка, длина которой является положительным треугольным числом (1, 3, 6, 10, 15 ...), может быть скомпонована в «равносторонний текстовый треугольник», добавив несколько пробелов и символов новой строки (и сохранив ее в том же порядке чтения).
Например, строка длиной 10 ABCDEFGHIJстановится:
A
B C
D E F
G H I J
Напишите программу или функцию, которая принимает такую строку, за исключением того, что она содержит только символы 0и 1. (Вы можете предположить, что ввод действителен.)
Для получающегося «равностороннего текстового треугольника» выведите (напечатайте или верните) одно из четырех чисел, обозначающих тип выставленной симметрии:
Выведите,
2если треугольник имеет двустороннюю симметрию. то есть имеет линию симметрии от любого одного угла до середины противоположной стороны.Примеры:
0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1Выведите,
3если треугольник имеет вращательную симметрию. то есть его можно повернуть на 120 ° без визуального изменения.Примеры:
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Выходной
6если треугольник имеет как двустороннее и поворотную симметрию. то есть он соответствует условиям для вывода2и3.Примеры:
0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0Выведите,
1если треугольник не имеет ни двусторонней, ни вращательной симметрии.Примеры:
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
Самый короткий код в байтах побеждает. Tiebreaker - более ранний ответ.
Помимо необязательного завершающего символа новой строки, входная строка может не иметь пробела / символа новой строки или структуры - это должны быть простые 0и 1одинаковые символы.
При желании вы можете использовать любые два различных печатных символа ASCII вместо 0и 1.
Тестовые случаи
Взятые прямо из примеров.
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
«Поворот» любого входа на 120 °, конечно, приведет к тому же результату.