Подсчет количества треугольников на изображении является задачей, обычно используемой в тестах мозга. Вам дана картинка, которая содержит фигуры, состоящие из треугольников. Затем вы должны найти все возможные треугольники на картинке.
задача
Вам предоставляется список строк в формате по вашему выбору. Затем вы должны вывести список треугольников, найденных в этом
вход
Вам предоставляется список строк, каждая из которых имеет четыре целочисленных координаты (например, x1 y1 x2 y2
). Вы можете выбрать формат ввода, если он четко задокументирован. Примеры:
0 4 8 1
0 4 9 5
8 1 9 5
2 8 0 4
9 5 2 8
[[0, 4, 8, 1], [0, 4, 9, 5], [8, 1, 9, 5], [2, 8, 0, 4], [9, 5, 2, 8]]
Вот такой же ввод как изображение:
Еще один, с пересечениями (только в одном формате для экономии места):
[[2, 1, 5, 0], [2, 1, 2, 7], [5, 0, 6, 6], [5, 0, 2, 7], [6, 6, 2, 1], [2, 7, 6, 6]]
Выход
Вы должны вывести список всех треугольников, каждый из которых задан шестью координатами с плавающей точкой (например, x1 y1 x2 y2 x3 y3
), на рисунке, указанном входными данными . Это могут быть не целые числа, поскольку линии могут пересекаться в любой точке. Вы можете выбрать выходной формат, если он четко задокументирован. Пример выходов для примера входов выше:
0 4 8 1 9 5
0 4 9 5 2 8
[[0, 4, 8, 3, 9, 5], [0, 4, 9, 5, 2, 8]]
[[2, 1, 5, 0, 2, 7], [2, 1, 5, 0, 6, 6], [5, 0, 6, 6, 2, 7], [2, 1, 6, 6, 2, 7], [2, 1, 5, 0, 3.674, 3.093], [5, 0, 6, 6, 3.674, 3.093], [6, 6, 2, 7, 3.674, 3.093], [2, 7, 2, 1, 3.674, 3.093]]
Вы можете предположить, что
не существует краевых случаев, когда прямая пересекает пересечение, но нет линий, например
[[0, 9, 1, 8], [1, 8, 2, 9], [2, 9, 3, 8], [3, 8, 4, 9], [4, 9, 0, 9]]
нет углов больше 179 градусов, вроде
[[0, 0, 0, 1], [0, 1, 0, 2], [0, 2, 0, 0]]
правила
- Вы можете использовать любой язык, который хотите.
- Внешние ресурсы не должны использоваться.
- Применяются стандартные лазейки .
счет
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах .
[0,0],[1,0],[2,0],[1,2]
"четырехугольник" с одним углом 180 градусов. Нет треугольников или 1 треугольник?
[0,9],[1,8],[2,9],[3,8],[4,9]
самом деле представляет собой букву W с линией, проведенной сверху. Разве это не треугольники или 2 треугольника?