![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
sofware |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 30.11.2006 Репутация: нет Всего: 1 |
Дано N прямоугольников, стороны которых паралельны осям координат.
Найти площадь, которую занимают эти прямоугольники. Входящие данные(файл Priam.in): В первой строке находится N(N<=3000). Далее в следующих N строках находятся координаты левого верхнего и правого нижнего угла каждого прямоугольника(координаты - целые числа в пределах от 0 до 1000000). Исходящие данные(файл Priam.out): В исходящий файл записать одно число - площадь покрытую прямоугольниками. Результат записать с тремя знаками после запятой. Пример: Priam.in 3 1 2 3 1 2 2 3 1 2 4 3 2 Priam.out 5.000 |
|||
|
||||
kali |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 9.11.2006 Где: Минск Репутация: 18 Всего: 20 |
Агоритм решения:
1. Перебираешь все пары прямоугольников, проверяшь пересекаются они или нет, и суммируешь полощади пересечения. Прямоугольники однозначно пересекаются если одновременно пересекаются их проекции на оси х и у. В зависимости от типа пересечения (проекции могут накладываться друг на друга или одна может включать в себя другую) будет несколько вариантов расчета площади пересечения(4 штуки). 2. От суммарной площади прямоугольников отнимаешь суммарную площадь пересечений. Это сообщение отредактировал(а) kali - 2.12.2006, 16:01 --------------------
Работая над решением задачи, всегда полезно знать ответ. |
|||
|
||||
sofware |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 30.11.2006 Репутация: нет Всего: 1 |
АЛГОРИТМ я знаю, мне нужна реализация
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |