Ваша задача - создать программу, которая идентифицирует форму ввода. Формы для идентификации могут быть любой из следующих:
Площадь
Чтобы быть идентифицированным как квадрат, источник должен иметь строки одинаковой длины и столько же строк, сколько символов в строке (символы новой строки исключаются). Дополнительный трейлинг-перевод строки является приемлемым.
$_='
$_="
$_"'
;say
Прямоугольник
Чтобы быть идентифицированным как прямоугольник, источник должен иметь строки одинаковой длины, но количество строк не соответствует количеству символов в строке (символы новой строки исключаются). Дополнительный трейлинг-перевод строки является приемлемым. Это может быть как горизонтально, так и вертикально.
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
Треугольник
Чтобы быть идентифицированным как треугольник, источник должен начинаться с одного символа, и каждая последующая строка должна иметь один дополнительный символ (включая последний), или после первой строки каждая последующая строка должна иметь на один символ меньше до последнего, что есть только один.
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
бардак
Все, что не соответствует формату, указанному выше, должно быть идентифицировано как беспорядок.
правила
- Вы можете вернуть любые четыре последовательных значения для печати, чтобы идентифицировать каждую форму.
- Ваш исходный код также должен соответствовать одной из вышеперечисленных форм (нет, не беспорядок).
- Один трейлинг-перевод строки в вашем источнике является приемлемым.
- Можно предположить, что входные данные не содержат пустых строк (включая завершающие новые строки), не являются пустыми и состоят не только из новых строк.
- Все фигуры должны иметь высоту и ширину> = 2, в противном случае это определяется как беспорядок.
- Стандартные лазейки запрещены.
- Самое короткое решение в байтах, на каждом языке, выигрывает.
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?