|
0 / 0 / 0
Регистрация: 18.12.2022
Сообщений: 4
|
|
На квадратном столе разместить прямоугольную скатерть с максимальной площадью13.06.2023, 14:59. Показов 2339. Ответов 44
Добрый день, смысл задачи такой: есть квадратный стол, есть прямоугольная скатерть, которая не может покрыть весь стол. Нам нужно найти максимальную площадь покрытия. У квадрата и прямоугольника одинаковый центр. Более того, наибольшая длина скатерти меньше диагонали квадрата. На вход подаются сторона квадрата и стороны прямоугольника. Я не рассматриваю случай, когда скатерть помещается внутри стола. Я так понимаю, что прямоугольник нужно крутить, и где-то от 0 до 45 градусов. Но у меня нет идеи как это осуществить. Есть ограничения по времени и памяти: 1с и 256мб.
0
|
|
| 13.06.2023, 14:59 | |
|
Ответы с готовыми решениями:
44
Найти треугольники с максимальной с максимальной и и минимальной площадью Разместить в динамической памяти прямоугольную матрицу Найти треугольники с максимальной площадью |
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||||||
| 14.06.2023, 13:34 | |||||||
|
Тупой бротфорс показал такие же результаты: макс. площадь при 45. Надо же... интуитивно не совсем это очевидно. Кликните здесь для просмотра всего текста
Небольшое пояснение:
а) кручу квадрат, не прямоугольник б) поточечно считаю площадь только в половине координатной сетки
1
|
|||||||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
|||||||
| 14.06.2023, 13:58 | |||||||
|
Насчет 450 я высказывал предположения. Потом решил "перебором" проверить, чтобы убедиться. И касаемо формул - код к той картинке из поста №17 не выложил, исправляюсь.
0
|
|||||||
| 14.06.2023, 14:04 | |
|
0
|
|
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
|
| 14.06.2023, 14:29 | |
|
gunslinger, но ведь не всегда угол 45 градусов дает макс площадь. Например, если стороны прямоугольника равны стороне квадрата, то лучше не поворачивать:
1
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
||||||
| 14.06.2023, 14:37 | ||||||
|
KSergey9, предвзятое отношение я вижу. Зачем рисовать в консоли, если есть более удобные средства?
И "чат жпт" в билдер не встроен (плюс в России жпт заблочен, да мне он вряд ли нужен в любом случае). Код приходится (хотя никто не заставляет) самому писать. Насчет формул - в посте №13 я вывел формулу для 450. Так как на 99% уверен, что это ответ к задаче (не забывая, что иногда поворот не нужен, это я тоже учел), зачем нужна общая формула, зависящая от угла? Ну и доказательство условия(-ий) максимума площади - это по идее в другой раздел форума. Плюс из серии "критикуешь - предлагай". Где общие формулы (площади от угла) без "ручного" подсчета пикселей для любых допустимых условиями входных данных? Где доказательство, что площадь максимальна при 450 (или 00)? Либо я слепой, либо просьба ткнуть носом. Благодарю за внимание (старался быть сдержанным, в интернете мне это не сложно, есть время думать, когда пишешь). Добавлено через 1 минуту Royal_X, я тут уточнил, что, скорей всего, макс. площадь при 450 или 00. Добавлено через 2 минуты В посте №13 использовал это в коде. Но "открыто" об этом почему-то не говорил (наверно, думал, что это очевидно, или вообще не думал). Если не 00, то 450. Добавлено через 2 минуты
1
|
||||||
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
|
| 14.06.2023, 14:39 | |
|
gunslinger, т.е. ты считаешь и при 0° и при 45°, но выводишь ту площадь, что больше?
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 14.06.2023, 14:42 | ||
|
Поэтому обсуждаем лишь менее очевидный случай частичного перекрытия.
0
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
||||||
| 14.06.2023, 14:47 | ||||||
|
Royal_X, получается так. Это я в тот момент не был достаточно уверен, что при 450 площадь может быть больше.
Можно подкорректировать. Но уже тогда я учитывал, что прямоугольник можно не поворачивать (если он изначально полностью помещается внутри квадрата и прочие частные случаи).
1
|
||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 14.06.2023, 14:50 | ||
|
Я ж написал: ни шмагла. Где вы увидели критику - даже и не знаю. Да, изначально тон у меня был другой, но я было решил, что это очередной студент вуза мается с лабой. А коль скоро речь про "переквалификацию в сознательном возрасте" (такой я вывод сделал из ваших пояснений), то я и написал сразу, что смысла возиться с такой задачей не вижу никакого, к программированию она отношения не имеет. (при этом сам упоролся, да )Вот рядом есть темка Создать класс реализующий самосортирующийся массив вот она хороша, она про программизьм как раз, тут есть смысл поупражняться. (даже не смотря на наличие готовых или почти готовых решений в С++, что уже весьма изящно показано в той теме).
0
|
||
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
||
| 14.06.2023, 14:56 | ||
|
И мне интересны алгоритмы для вычисления данной макс площади, ибо только у меня уже несколько различных идей...
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 14.06.2023, 15:02 | |||
|
Вынесение общих множителей за скобки и т.п. уровень знаний точно нельзя считать за применение математики, на мой взгляд.
0
|
|||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
|
| 14.06.2023, 15:08 | |
|
KSergey9, мне казалось, что камни летят в мой огород. Хоть это не принципиально.
Насчет "темы рядом" - я и (код в стиле) ООП не совместимы с рождения (когда учился в Пока не забыл, условие задачи "максимальная сторона прямоугольника должна быть меньше диагонали квадрата" вполне можно свести к условию "...должна быть не больше...". Почему там равенства быть не должно - не понимаю. Почему не должно быть больше - понятно, расчет площади от этого изменится, так как меньшие стороны прямоугольника могут (и будут) в какой-то момент поворота выходить за углы квадрата.
0
|
|
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
|
| 14.06.2023, 15:14 | |
|
KSergey9, ну вот самый правильный и точный алгоритм - это если будем всё считать по формулам.
Но есть и ленивый метод - вычисление площади методом Монте-Карло: бросаем на квадрат рандомные точки. Площадь покрытой части тогда будет равна s = S * m / n, где S это площадь квадрата, m это точки которые попали в прямоугольник, n количество точек, брошенных в квадрат. Чем больше будет n, тем точнее результат. Всё это реализуется достаточно просто. Нужно всего лишь написать bool функцию, которая проверяет попадает ли точка в прямоугольник, и если попадает, то ++m.
1
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 14.06.2023, 15:17 | |||
|
Не по теме:
Спросите (в новой теме?), наверняка растолкуют. Боюсь, что вы слишком себя ограничиваете этим, тем более в рамках С++ Ну если это профессия, а не вспомогательные навыки на фоне основной деятельности. Или код в приведенной мною программе? Добавлено через 1 минуту Royal_X, но это как раз те самые 2 идеи, которые есть у меня. (только вместо Монте-Карло я реализовал полный перебор по сетке) А еще?
0
|
|||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
|
| 14.06.2023, 15:18 | |
|
KSergey9, программирование - это не моя профессия (уже давно).
По условию задачи - это просто мысли вслух.
0
|
|
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
|||
| 14.06.2023, 15:35 | |||
![]() какая разница, у меня максимальная сторона прямоугольника a * sqrt(2) или a * sqrt(2) - 1e-100. А еще лучше, если максимальная сторона прямоугольника a * sqrt(2) - геометрическая точка.Добавлено через 11 минут
1
|
|||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
|
||
| 14.06.2023, 15:40 | ||
|
Кстати, если макс. сторона прямоугольника будет больше диагонали квадрата, то, кроме "других формул" расчета площади, может (теоретически, но это не точно) перестать работать "идея" про 450. Однако тут уже другая история.
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 14.06.2023, 15:44 | |
|
1
|
|
|
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,327
|
|||
| 14.06.2023, 15:54 | |||
|
Добавлено через 7 минут Некто хочет перевезти в автобусе трубу длиной 2,5 м. Но в автобусе разрешено перевезти вещи, габариты (длина, ширина или высота) которых не превышают 2 м. Как ему решить данную проблему?
1
|
|||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 14.06.2023, 15:57 | |
|
0
|
|
| 14.06.2023, 15:57 | |
|
Определить координаты треугольника с максимальной площадью
Вывести на печать координаты треугольника с максимальной площадью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|