IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача на площадь многоугольника, разбить его на равные две части
Bard
сообщение 3.06.2007 10:43
Сообщение #1


Учиться, учиться еще раз учиться
***

Группа: Пользователи
Сообщений: 158
Пол: Мужской
Реальное имя: Яшар

Репутация: -  3  +


Помогите решить такую задачку... smile.gif
Задано количество вершин(3<N<=50) выпуклого многоугольника. А еще заданы координаты этих вершин.
Разрезать многоугольник на две части так чтобы площади обеих частей были равными. Найти минимальную длину такого разреза.

Цитата
Например:
N=4
0 0 (координат 1-й точки)
0 3 (координат 2-й точки)
4 3 (координат 3-й точки)
4 0 (координат 4-й точки)

минимальная длина разреза 3...

Спасибо всем заранее... smile.gif


--------------------
Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Bard
сообщение 6.06.2007 0:43
Сообщение #2


Учиться, учиться еще раз учиться
***

Группа: Пользователи
Сообщений: 158
Пол: Мужской
Реальное имя: Яшар

Репутация: -  3  +


да но ведь мне нужны не только диагонали но и в том числе отрезки разбивающие стороны...

А что на счет source моей задачи это наш учитель smile.gif ... В этот раз он задал нам несколько задач но некоторые из них из онлайн соревнований... нет вы не подумайте что я постил эту задачу сюда чтобы поднять там(а именно на тумисе) количество своих решенных задач... просто вот эта задачка показалась мне очень сложной поэтому я подумал что наш форум поможет мне... мне нужно только понять алго вот и все... smile.gif


--------------------
Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 6.06.2007 1:28
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Bard @ 6.06.2007 1:43) *

не подумайте что я постил эту задачу сюда чтобы поднять там(а именно на тумисе) количество своих решенных задач...
Надеюсь, что ты честно говоришь.
Bard, люди думают то, что думают, и изменить это не в твоих силах. Поэтому в следующий раз говори сразу, откуда задача и зачем она тебе, во избежание недоразумений.

Алгоритм примерно такой..
Фиксируешь одну сторону и проходишь циклом по всем остальным сторонам, получая всякий раз натянутые на эти две стороны 4-угольники. Вычисляешь площади двух частей исходного многоугольника, на которые разбивает его текущий 4-угольник (S1 и S2, площадь самого 4-угольника S). Перебором добиваемся, чтобы выполнялось:
либо S1<S2 и S1+S>S2 ,
либо S1>S2 и S1<S2+S .
Это гарантирует тебе, что линия деления должна проходить через текущий 4-угольник. Теперь аналитически (зная координаты вершин) решаешь задачу на минимизацию длины секущего отрезка (как функции его конца на одной стороне) при условии равенства площадей, на которые он делит 4-угольник. Находишь и запоминаешь длину этого отрезка.

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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Bard   задача на площадь многоугольника   3.06.2007 10:43
fox   Помогите решить такую задачку... :) Задано колич...   3.06.2007 10:45
klem4   Сильно ты ему помог, сам-то как думаешь ? Еще о...   3.06.2007 10:54
Bard   да спасибо за помощь но через массивы можно решит...   3.06.2007 11:03
Bard   помогите мне пожалуйста с реализацией алгоритма...   3.06.2007 15:49
мисс_граффити   вот формула для вычисления площади: http://algolis...   3.06.2007 15:57
Bard   На самом деле я думаю что мне надо просто найти те...   4.06.2007 15:39
Michael_Rybak   Оффтоп: А зачем тебе эта задача, если не секрет? ...   4.06.2007 21:30
мисс_граффити   Я почему-то прочитала, что разрезать по вершинам. ...   4.06.2007 23:08
Lapp   Оффтоп: А зачем тебе эта задача, если не секрет?Да...   5.06.2007 3:30
Michael_Rybak   >А кто сказал, что перебор по вершинам? >Не...   5.06.2007 11:56
Lapp   Вот это последнее можно сделать аналитически, а м...   5.06.2007 21:30
Bard   Извините что вмешиваюсь :) но о каком переборе ...   5.06.2007 22:14
Lapp   Для начала, перебор всех диагоналей. Таким образо...   5.06.2007 23:05
Bard   да но ведь мне нужны не только диагонали но и в то...   6.06.2007 0:43
Lapp   не подумайте что я постил эту задачу сюда чтобы п...   6.06.2007 1:28
Michael_Rybak   Продолжая за Lapp'a: смотри, концы искомого от...   6.06.2007 1:25
Bard   Большое спасибо :) ,Lapp, но я не совсем понял пе...   6.06.2007 21:45


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 10:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"