С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 1
Регистрация: 22.06.2014
Сообщений: 105

Построить такой многоугольник, периметр которого максимален

14.05.2015, 12:38. Показов 2845. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цель задачи: Построить такой многоугольник (не обязательно выпуклый) с вершинами в заданном на плоскости множестве точек, периметр которого максимален.

Может кто-нибудь поможет? Пробовал алгоритм Форда-Фалкерсона, Карга-Томпсона, Флойда-Уоршелла... не то всё это...

Добавлено через 52 минуты
Хотя бы идей набросайте как сделать, может рассматривать задачу не как граф.

Добавлено через 46 минут
Пазязя помогите

Добавлено через 19 часов 4 минуты
HELP!

Добавлено через 15 секунд
HELP!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2015, 12:38
Ответы с готовыми решениями:

Построить выпуклый многоугольник, вершины которого — заданные точки
Подскажите,пожалуйста,как решается такая задача: дано множество точек, построить выпуклый многоугольник, вершины которого - заданные...

Построить такой многоугольник с вершинами в заданном на плоскости множестве точек периметр которого максимален
Саламалейкум, парни. Такая задача: Построить такой многоугольник(не обязательно выпуклый) с вершинами в заданном на плоскости множестве...

Определите номер и значение числа, квадрат которого максимален
Даны n чисел. Определите номер и значение числа, квадрат которого максимален.

10
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8650 / 4485 / 1669
Регистрация: 01.02.2015
Сообщений: 13,892
Записей в блоге: 12
14.05.2015, 17:14
Если точек не много (10-20) - попробуй перебор.
Примерно так (это не готовый алгоритм, а поток сознания)
1. Соединяешь текущую точку с первой неиспользованной.
2. Проверяешь на пересечение с имеющимися отрезками (аналитическая геометрия в помощь)
3. Если пересекается, берёшь следующую неиспользованную точку и п.2.
4. Текущей точкой становится та, с которой соединили отрезок.
5. Получился многоугольник или не получился, но возвращаемся к рассмотрению предыдущей точки
6. Пробуешь соединить со следующей неиспользованной.
Для последней точки - проверка отрезка с первой точкой.
Вычисление периметра и сохранение максимума.
0
0 / 0 / 1
Регистрация: 22.06.2014
Сообщений: 105
15.05.2015, 14:37  [ТС]
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Если точек не много (10-20) - попробуй перебор.
Примерно так (это не готовый алгоритм, а поток сознания)
1. Соединяешь текущую точку с первой неиспользованной.
2. Проверяешь на пересечение с имеющимися отрезками (аналитическая геометрия в помощь)
3. Если пересекается, берёшь следующую неиспользованную точку и п.2.
4. Текущей точкой становится та, с которой соединили отрезок.
5. Получился многоугольник или не получился, но возвращаемся к рассмотрению предыдущей точки
6. Пробуешь соединить со следующей неиспользованной.
Для последней точки - проверка отрезка с первой точкой.
Вычисление периметра и сохранение максимума.
Прости, но это бред.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8650 / 4485 / 1669
Регистрация: 01.02.2015
Сообщений: 13,892
Записей в блоге: 12
15.05.2015, 21:54
Пусть бред.
А что, кроме перебора можешь предложить ты? А если перебор, то каким образом ты его реализуешь?
0
0 / 0 / 1
Регистрация: 22.06.2014
Сообщений: 105
17.05.2015, 12:23  [ТС]
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Пусть бред.
А что, кроме перебора можешь предложить ты? А если перебор, то каким образом ты его реализуешь?
Нужно усовершенствовать алгоритм Форда-Фалкерсона, преобразовать для цикличного графа и избавиться от зацикливания путём записывания пройденных дуг в массив например
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8650 / 4485 / 1669
Регистрация: 01.02.2015
Сообщений: 13,892
Записей в блоге: 12
17.05.2015, 16:43
Цитата Сообщение от StopYoutFlame Посмотреть сообщение
Нужно усовершенствовать алгоритм Форда-Фалкерсона, преобразовать для цикличного графа и избавиться от зацикливания путём записывания пройденных дуг в массив например
Wikipedia
Алгоритм Форда — Фалкерсона решает задачу нахождения максимального потока в транспортной сети.
Причём, как я понял, обязательно наличие стартовой и конечной вершин.
Похожая задача "Цепочка" решается методом обхода в глубину
Незнание мною С и С++ играет плохую шутку, но здесь и здесь пояснения к подобной задачи и там, IMHO, поиск в глубину, а не алгоритм Форда-Фалкерсона.

Резюме: НЕ БРЕД. И увиденный объём кода меня отпугивает от реализации (поиск математики, набор, отладка), по крайней мере на этой неделе.

Добавлено через 9 минут
------------------
Ещё я смею предположить, что Алгоритм Форда — Фалкерсона не подходит к этому случаю по причине изменчивости матрицы смежности при выборе каждой следующей точки многоугольника.
Если же можно допустить пересечения рёбер многоугольника и мы имеем полный граф, то задача превращается в подобие задачи коммивояжёра, которая приближённо решается разными методами, а точно - только полным перебором.

Алгоритм Форда — Фалкерсона в лес!
0
26 / 26 / 29
Регистрация: 11.02.2012
Сообщений: 101
22.05.2015, 01:46
Я тут подумал-подумал над задачей и единственное, чем смог бы ускорить полный перебор с возвратом, это гипотеза, что максимальный путь обязательно проходит через все точки минимальной выпуклой оболочки.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8650 / 4485 / 1669
Регистрация: 01.02.2015
Сообщений: 13,892
Записей в блоге: 12
22.05.2015, 07:38
Да, я видел в сети вариацию, как мне показалось, жадного алгоритма. Суть его в
1. Построение минимальной выпуклой оболочки.
2. Пока есть точки внутри оболочки, берётся очередная сторона и перебираются внутренние точки до получения максимального периметра нового треугольника, и включение этой точки в разрыв стороны.

Добавлено через 2 минуты
Т.к. в топике тишина, то, полагаю, ТС уже решил задачу. Можно решить её лишь "для себя".
0
0 / 0 / 1
Регистрация: 22.06.2014
Сообщений: 105
22.05.2015, 10:49  [ТС]
Я рассматривал вариант через минимальную оболочку, рабочий вариант. Но, я думал есть быстрый, легкий и простой вариант решения, потому что эту задачу дали 2 курсу ВУЗа, как то так
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
22.05.2015, 11:25
Лучший ответ Сообщение было отмечено StopYoutFlame как решение

Решение

Цитата Сообщение от StopYoutFlame Посмотреть сообщение
Но, я думал есть быстрый, легкий и простой вариант решения,
Я почему-то тоже сразу так подумал, но смутили какие-то умные слова.
Вот делал что-то подобное
Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через все заданные точки
1
0 / 0 / 1
Регистрация: 22.06.2014
Сообщений: 105
23.05.2015, 13:05  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Я почему-то тоже сразу так подумал, но смутили какие-то умные слова.
Вот делал что-то подобное
Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через все заданные точки
Cпасибо, чуть-чуть переделаю и будет то, что надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2015, 13:05
Помогаю со студенческими работами здесь

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

В массиве, содержащем не более k элементов, определить номер элемента, корень из которого максимален
В массиве, содержащем не более k элементов, определить номер элемента, корень из которого максимален. Корень извлекать только из...

Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам
Здравствуйте, помогите доделать следующую задачу. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший...

Укажите номер шарика, момент импульса которого относительно оси, проходящей через центр окружности, максимален
Может ли кто-нибудь помочь мне с этим вопросом, пожалуйста. Спасибо. Четыре шарика, размеры которых пренебрежимо малы, движутся по...

Объявить класс Многоугольник со свойствами: Периметр, Число вершин
В общем, условие задачи выглядит так: Объявить класс Многоугольник, в основе которого лежит массив точек. Свойства класса: Периметр и Число...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru