Учитывая N точек в 2-мерном пространстве, нам нужно вывести счет минимального количества линий, которые проходят через все эти N точек и которые также проходят через определенную (xO, yO) точку.
Примеры:
If given points are (-1, 3), (4, 3), (2, 1), (-1, -2), (3, -3) and (xO, yO) point is (1, 0) i.e. every line must go through this point. Then we have to draw at least two lines to cover all these points going through (xO, yO) as shown in below diagram.
Мы можем решить эту проблему, рассматривая наклон всех точек с (xO, yO). Если две разные точки имеют одинаковый наклон с (xO, yO), то они могут быть покрыты одной и той же линией, поэтому мы можем отслеживать наклон каждой точки, и всякий раз, когда мы получаем новый наклон, мы увеличиваем количество линий на единицу.
В приведенном ниже коде наклон сохраняется в виде пары целых чисел, чтобы избавиться от проблемы точности, а набор используется для отслеживания возникших наклонов.
Пожалуйста, смотрите код ниже для лучшего понимания.
|
Выход:
2
Эта статья предоставлена Уткаршем Триведи . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Ближайшая пара точек с использованием алгоритма «разделяй и властвуй»
- Ближайшая пара очков | O (nlogn) Реализация
- Минимальная стоимость полигональной триангуляции
- Найти простой замкнутый путь для заданного набора точек
- Ориентация 3 упорядоченных точек
- Подсчитать интегральные точки внутри треугольника
- Количество интегральных точек между двумя точками
- Непересекающиеся линии для соединения точек по кругу
- Подсчитайте максимальное количество очков на одной линии
- Точки окружности и решетки
- Запросы на подсчет очков лежат внутри круга
- Бумага, нарезанная на минимальное количество квадратов
- Минимальное расстояние для проезда, чтобы покрыть все интервалы
- Проблема нарезки пиццы (Или круговое деление по линиям)
- Минимальные прыжки блока, чтобы добраться до места назначения
0.00 (0%) 0 votes