3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
1

Найдите среди точек две такие, что угол AOB минимальный

10.04.2014, 23:29. Показов 628. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые форумчане помогите пожалуйста со следующей задачкой:
Даны n (1 <= n <= 10^5) попарно различных точек на плоскости с целыми координатами до 10^6 по абсолютной величине. Найдите среди них две точки A и B такие, что угол AOB минимальный. O - центр координат.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2014, 23:29
Ответы с готовыми решениями:

Из точек на плоскости выбрать две такие, чтобы разность количества точек, лежащих по разные стороны от прямой, была мин.
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количества точек,...

Среди множества точек на плоскости найдите пару точек с минимальным расстоянием между ними
Среди множества точек на плоскости найдите пару точек с минимальным расстоянием между ними....

Через две точки проведен отрезок прямой. Найти среди заданных трех точек такую, что также относится к этому отрезку
Собственно сама задача. Через две точки проведен отрезок прямой. Найти среди заданных трех точек...

Выяснить, найдутся ли среди точек такие, которые являются вершинами квадрата
Даны N точек на плоскости(N&gt;=4). Выяснить, найдутся ли среди этих точек такие, которые являются...

9
Заблокирован
11.04.2014, 00:09 2
Цитата Сообщение от freewrestler Посмотреть сообщение
Даны n (1 <= n <= 10^5) попарно различных точек
Может, все таки 2 <= n <= 10^5?
0
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
11.04.2014, 00:40  [ТС] 3
нет, 1 <= n т.к если n = 1, то значит 1 пара точек, т.е 2 точки.
0
Заблокирован
11.04.2014, 00:50 4
Если n - это количество пар, то сколько же у вас точек?
0
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
11.04.2014, 00:59  [ТС] 5
Даны n попарно различных точек - я так понял, что тут имеется в виду "n пар" точек, если например n = 5, то точек 10. А если я неправильно понял условие, то подскажите пожалуйста.
0
Заблокирован
11.04.2014, 03:37 6
Я поняла так, что дано n точек, и если взять любые две из них, то они различны.
Т.е., в конечном счете они все различны.

В этом смысле точек не может быть меньше двух.
0
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
11.04.2014, 04:40  [ТС] 7
Да, вы правы, я ошибся в понимании условии. И соответственно ограничениями для n будут 1 <= n <= 10 ^ 5
0
Заблокирован
11.04.2014, 06:13 8
Ну бог с ним, с одной точкой. В конце концов, в этом случае сразу переходим на "Нет решений, поскольку нет угла".

Общая идея такая:
1) Ваши точки неупорядочены по часовой или против часовой стрелки? Тогда нужно это сделать.
2) После этого - обходим и меряем углы соседей.
3) Делаем вывод.

Координаты целочисленные, что намекает на использование соответствующих методов.

Добавлено через 1 час 20 минут
Поправка:
Миллион точек упорядочивать не будем, а просто берем каждую и по отношению к ней проверяем на ближайшую "левую".
0
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
11.04.2014, 23:28  [ТС] 9
"Координаты целочисленные, что намекает на использование соответствующих методов." не могли бы вы мне скинуть ссылку на материал, чтобы я его прочитал или же вкратце объяснить мне этот метод

Добавлено через 5 часов 3 минуты
Спасибо, догадался)
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
12.04.2014, 00:02 10
Цитата Сообщение от IrineK Посмотреть сообщение
Миллион точек упорядочивать не будем, а просто берем каждую и по отношению к ней проверяем на ближайшую "левую".
А как это сделать?

Можно упорядочить сортировкой быстрой, по углу. И нормально будет.
0
12.04.2014, 00:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2014, 00:02
Помогаю со студенческими работами здесь

Найдите среди четырех очередей две одинаковые
Найдите среди четырех очередей две одинаковые.

Найдите среди трех (4, 5) очередей две одинаковые
Найдите среди трех (4, 5) очередей две одинаковые. Решение в программе оформляйте через...

Найдите среди трех очередей две одинаковые
Посмотрите что у меня получилось!)спасибо) program och; uses crt; type Tinf=integer; ...

Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек, лежащих по разные ст
Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru