![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 17.02.2013
Сообщений: 2
|
![]()
Суть такова, есть n прямоугольников со сторонами, параллельными осям координат, заданных координатами своей левой верхней и правой нижней вершин, и m отрезков, заданных координатами своих концов. Нужно определить отрезок, пересекающий наибольшее количество прямоугольников
Не могу придумать единое условие для определения таких отрезков. Есть идеи? ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Что такое "определение отрезков"?
Тип данных для представления отрезка? В таком случае отрезок определяется через две точки, т.е. вводим структуру - вектор, а потом - отрезок, состоящий из двух векторов. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 17.02.2013
Сообщений: 2
|
![]()
Опеределение? т.е. мне нужно найти координаты конца и начала такого отрезка.
координаты вещественные. Я с помощью записей сделал массивы координат прямоугольников и отрезков, а вот как дальше применить ... |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Не понял.
Зачем искать то, что задано по условию задачи? |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Например, простой перебор.
1. Пишем функцию, которая определяет пересекаются ли два отрезка. а) Решение системы двух линейных уравнение б) Проверка, что точка пересечения, если таковая найдена, принадлежит одному из отрезков. 2. В цикле 1: Берём отрезок В цикле 2: Для каждого прямоугольника готовим 4-е уравнения. Если есть пересечение, то +1 и выходим из цикла. // Для прямоугольника достаточно обнаружить одно пересечение Конец цикла 2; Конец цикла 1; 3. Полученный массив, в котором есть координаты отрезков и число пересечений просматриваем на поиск максимума пересечений. Ну, как-то так ...
Как-то так, ...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двумерный массив. Определить количество прямоугольников образованных числом 1. | alekcey0211 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 28.11.2012 17:03 |
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива | griignat | Помощь студентам | 1 | 22.11.2011 20:04 |
Характеристикой строки назовем наибольшее количество.. | Bizikov | Помощь студентам | 1 | 26.05.2011 22:24 |
Задача на работу с двумерным массивом.Найти количество прямоугольников. | anta | Общие вопросы C/C++ | 6 | 05.01.2009 15:23 |