|
0 / 0 / 1
Регистрация: 15.03.2014
Сообщений: 42
|
||||||
Круги, что образуют самую длинную цепь - выделить отдельным цветом, рисование на канве20.04.2015, 19:17. Показов 1880. Ответов 7
Метки нет (Все метки)
В файле задано координаты радиусов кругов. Вывести круги на экран. Все цепи, что образованные с этих кругов - выделить отдельным цветом. Круги, что образуют самую длинную цепь - выделить отдельным цветом, а координаты их радиусов записать в другой файл.
Как же Все цепи, что образованные с этих кругов - выделить отдельным цветом. Круги, что образуют самую длинную цепь - выделить отдельным цветом?
0
|
||||||
| 20.04.2015, 19:17 | |
|
Ответы с готовыми решениями:
7
Найти самую длинную цепь из одинаковых чисел Выделить самую длинную последовательность в тексте
|
|
place status here
3189 / 2225 / 640
Регистрация: 20.07.2013
Сообщений: 6,021
|
||
| 20.04.2015, 19:54 | ||
|
Как понимать фразу
Про употребление падежей, родов, склонений, множественного и единственного числа сильно кричать не буду. P.S.: особенно радует словосочетание "координаты радиусов". Интересное сокращение могло получиться, но Пушкин в гробу уже раскрутился до первой космической скорости.
0
|
||
|
0 / 0 / 1
Регистрация: 15.03.2014
Сообщений: 42
|
|
| 20.04.2015, 20:07 [ТС] | |
|
Извините,кхм, вот схема:
координаты радиусов - извините, координаты центра окружности +радиус ( в файле задается так: x=100; y=100; R=50;)
0
|
|
|
|
|
| 20.04.2015, 20:55 | |
|
Признак вхождения двух окружностей в цепь - расстояние между точками их центров не превосходит сумму их радиусов. Находим брутом все возможные комбинации "цепей" и выносим суждение о их длине. Что поднимает второй вопрос - что именно считать "длиной цепи"?
0
|
|
|
place status here
3189 / 2225 / 640
Регистрация: 20.07.2013
Сообщений: 6,021
|
|
| 20.04.2015, 21:39 | |
|
Тут, наверно, два варианта: либо количество кругов, либо максимальное расстояние между крайними (противоположными) точками окружностей, входящих в цепь.
Разновидность последнего варианта - расстояние в случае "выравнивания кругов" по ходу цепи, т.е. окружности смещаются так, что их центры оказываются на одной прямой линии - но эта ситуация слишком "муторна".
0
|
|
|
place status here
3189 / 2225 / 640
Регистрация: 20.07.2013
Сообщений: 6,021
|
||||||
| 21.04.2015, 13:16 | ||||||
|
Сделал рисование окружностей с помощью "ГСЧ". Количество окружностей задаю константой.
Под получение данных из файла сам переделаешь. Программа цепи находит (рисует), а вот с поиском максимальной цепи (даже если длину цепи определяем как количество входящих в нее окружностей) что-то ничего не выходит (хотя есть идеи сделать через тройной? цикл или даже рекурсию). Короче, пока такой код:
1
|
||||||
|
place status here
3189 / 2225 / 640
Регистрация: 20.07.2013
Сообщений: 6,021
|
||||||
| 24.04.2015, 21:02 | ||||||
Сообщение было отмечено QAQA как решение
Решение
Короче, я "заколебался".
Выкладываю код (совсем не идеальный) по поиску цепи максимальной длины (ЦМД), образованной окружностями. Благодарю SatanaXIII за помощь (в виде теории, подсказки использовать рекурсию + деревья и псевдокод). Но я, как всегда (как баран), пошел своим путем. За что рога и поломал. Рисование линий и чисел можно убрать. Часть кода, которую вижу проблемной - отвечающая именно за нахождение ЦМД. "Монстра" (никогда так не пишите программы) прикладываю ниже (плюс некоторые комментарии). Уверен, что есть четкий математический алгоритм для подобных задач. Мы же (то есть я) "легкие" способы обходим стороной.
1
|
||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||||||||||||||||
| 29.04.2015, 12:37 | ||||||||||||||||
Сообщение было отмечено gunslinger как решение
Решение
В общем убил я денек и реализовал псевдокод, о коем говорил.
Специально для gunslinger. Данный метод был придуман как первое, что пришло в голову, и люди, разбирающиеся в математике, а тем более в построении графов, меня за него придадут анафеме, но для примера сойдет. Суть метода в том, что для каждой окружности создается свое отдельное дерево, в которое заносятся все пересекающиеся с ней окружности, в порядке очереди. Соответственно расстояние от текущей окружности (от которой строится дерево) до самого дальнего узла дерева и есть самая длинная цепочка в данном множестве пересечений окружностей. После построения всех деревьев происходит их перебор и поиск наибольшей ветки среди них всех. Изначально планировалось организовать программу следующим образом: Псевдокод
С учетом небольших поправок так оно и случилось: Код
Данный код является только ознакомительным. Организация его тоже не самая лучшая. И он содержит две очень важные ошибки: в нем не реализована очистка памяти и отсутствует какая-либо проверка на глубину рекурсии. Иными словами, при больших количествах пересечений окружностей программа сожрет всю память и при этом может так ничего и не рассчитать до конца. Но при этом дай ей неограниченные аппаратные возможности и она найдет наиболее длинную цепочку окружностей в любых стартовых условиях. Короче простор для оптимизации большой.
3
|
||||||||||||||||
| 29.04.2015, 12:37 | |
|
Помогаю со студенческими работами здесь
8
Как отдельным цветом выделить короткий и самый длинный путь на точках ломаной линии?
Таблица умножения с возможностью задать размеры, каждую ячейку надо выделить отдельным фоновым цветом Разработать программу, которая строит множество индексов тех элементов массива, которые образуют самую длинную возраста В тексте найти самую длинную и самую короткую строки и поменять их местами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|