|
0 / 0 / 0
Регистрация: 18.12.2022
Сообщений: 4
|
|
На квадратном столе разместить прямоугольную скатерть с максимальной площадью13.06.2023, 14:59. Показов 1962. Ответов 44
Добрый день, смысл задачи такой: есть квадратный стол, есть прямоугольная скатерть, которая не может покрыть весь стол. Нам нужно найти максимальную площадь покрытия. У квадрата и прямоугольника одинаковый центр. Более того, наибольшая длина скатерти меньше диагонали квадрата. На вход подаются сторона квадрата и стороны прямоугольника. Я не рассматриваю случай, когда скатерть помещается внутри стола. Я так понимаю, что прямоугольник нужно крутить, и где-то от 0 до 45 градусов. Но у меня нет идеи как это осуществить. Есть ограничения по времени и памяти: 1с и 256мб.
0
|
|
| 13.06.2023, 14:59 | |
|
Ответы с готовыми решениями:
44
Найти треугольники с максимальной с максимальной и и минимальной площадью Разместить в динамической памяти прямоугольную матрицу Найти треугольники с максимальной площадью |
|
6118 / 2813 / 1038
Регистрация: 01.06.2021
Сообщений: 10,252
|
|
| 13.06.2023, 15:19 | |
|
Ocefsa, столько памяти хватит даже, чтобы запустить GTA SA.
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 13.06.2023, 15:28 | ||
|
2) Найти её экстремумы; экстремумы функции всегда располагаются там, где производная функции равна 0; производная функция там явно вычислится без сложностей аналитически.
0
|
||
|
0 / 0 / 0
Регистрация: 18.12.2022
Сообщений: 4
|
|
| 13.06.2023, 16:06 [ТС] | |
|
KSergey9, Не очень поняла, как вывести эту формулу
0
|
|
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
|
| 13.06.2023, 16:09 | |
|
Насколько я понимаю (верно?), максимальная площадь "покрытия" получается при повороте на 450.
По крайней мере по следующему рисунку такие выводы напрашиваются. Объяснение: У большего прямоугольника (который расположен под углом в 450) площадь вне квадрата равна 4, у меньшего она тоже = 4. Если меньший прямоугольник повернуть на 450, его внешняя площадь уменьшится (точное значение нужно считать). А если повернуть больший прямоугольник на 450, его внешняя площадь увеличится (тут считать проще, она станет равна примерно 4,68629). Если это так, то остальное дело техники.
0
|
|
|
0 / 0 / 0
Регистрация: 18.12.2022
Сообщений: 4
|
|
| 13.06.2023, 16:18 [ТС] | |
|
gunslinger, боюсь, вы взяли для примера большую сторону прямоугольника равную диагонали квадрата, такой случай не совсем то, что я хотела бы выяснить, я бы хотела знать, что делать, еслм сторона строго меньше. Я пробовала взять просто площадь, когда он на 45 градусах, но ответ был неправильным.
Добавлено через 1 минуту gunslinger, допустим, сторона квадрата была 6, 2 и 8 были бы стороны прямоугольника
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 13.06.2023, 16:24 | |
|
Нарисовать картинку на бумажке: квадрат, на нём повернутый на угол альфа прямоугольник.
А дальше курс геометрии средней школы: разбить фигуру пересечения на прямоугольнички и треугольнички и найти площади каждой такой фигурки. Потом площади сложить. Добавлено через 5 минут э, не, надо не площать фигуры пересечения напрямую искать. Видно, что за пределы квадрата от прямоугольника торчат треугольники, 4 шт, по 2 одинаковых Проще найти площади этих треугольников - их всего 4 (и только 2 из них разных), после чего от общей площади прямоугольника отнять площади этих торчащих треугольников. Так проще будет формулу получить. (не забыть учесть, что при некоторых размерах и углах поворота торчать и и вовсе только 2 треугольника будут)
1
|
|
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
|
| 13.06.2023, 16:30 | |
|
Ocefsa, я в курсе, что бОльшая сторона прямоугольника должна быть меньше диагонали квадрата.
Рисунок лишь в качестве примера привел (на нем было проще и легче принцип показать). И что значит "взять просто площадь"? Нужно из площади прямоугольника (она при повороте не меняется) вычесть площади 4-х треугольников (которые вне квадрата). Либо найти площадь одного треугольника и умножить на 4. Добавлено через 1 минуту Это если мое предположение про 450 верно.
0
|
|
|
0 / 0 / 0
Регистрация: 18.12.2022
Сообщений: 4
|
|
| 13.06.2023, 16:38 [ТС] | |
|
gunslinger, извините, неправильно выразилась, я имела в виду, что считала площадь, когда прямоугольник под углом в 45 градусов, я пробовала вычитать треугольники, а также делить фигуру покрытия, ответ был одинаковым в обоих случаях, но неправильным
0
|
|
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
||||||
| 13.06.2023, 17:21 | ||||||
|
Пока сделал такой набросок для нуля градусов и с учетом всех (вроде как?) частных случаев:
Тут еще в идеале нужно учесть ситуацию, когда (даже если наибольшая сторона прямоугольника меньше диагонали квадрата) наименьшая сторона прямоугольника не будет пересекать квадрат до некоторого момента (если это влияет на результат).
0
|
||||||
|
Вездепух
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
|
||
| 13.06.2023, 18:21 | ||
|
1
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 13.06.2023, 19:16 | |
|
gunslinger , вы с каком классе учитесь?
0
|
|
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
||||||
| 13.06.2023, 20:40 | ||||||
|
KSergey9, если бы в школе учились всю жизнь, то должен был перейти в 37-ой класс в этом году.
А если серьезно, то потому и смутно теорию помню, так как было это давно. В итоге вот что получилось: Варианты 1 и 2a отбрасываем (почему - очевидно же или нет?). Я проверял вариант 3 (поворот на 450) и вариант без поворота. По идее нужно еще проверить (для чистоты эксперимента) вариант 2b, но что-то лень, не хватает мозгов, вариант не внушает доверия (нужное подчеркнуть). Итоговый код (возможно, перемудрил, спорить не буду):
1
|
||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 13.06.2023, 21:12 | ||
|
0
|
||
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
|
| 13.06.2023, 21:20 | |
|
Дело не (только) в программировании, а в (потенциальном) шевелении мозгами.
Есть возможность (силы, желание) "пошевелить" - шевелю, нет - пропускаю.
0
|
|
|
6118 / 2813 / 1038
Регистрация: 01.06.2021
Сообщений: 10,252
|
|
| 13.06.2023, 23:53 | |
|
Либо я не понимаю условие задачи, либо вы тут создали проблему на пустом месте. Задача - детский сад.
Пусть на вход подаются сторона квадрата a и сторона прямоугольника b, которая не превышает a * sqrt(2). По условию, сторона прямоугольника меньше диагонали квадрата, но я буду рассматривать "меньше равно", т.к. вариант "меньше" является глупостью для чисел с плавающей запятой. Независимо от введенных значений, вторая сторона прямоугольника будет равна a * sqrt(2). Кстати, стороны прямоугольника могут быть равны, ибо квадрат это частный случай прямоугольника. Т.е. скатерть это прямоугольник с размерами b × a * sqrt(2), расположенная под углом 45 градусов. В случае, когда пользователь ввел b = a * sqrt(2), получаем прямоугольник a * sqrt(2) × a * sqrt(2), который полностью покрывает квадрат. Найти площадь покрытой части не составляет труда. От площади квадрата отнимаем площади двух равных треугольников.
1
|
|
|
place status here
3185 / 2219 / 640
Регистрация: 20.07.2013
Сообщений: 5,999
|
|
| 14.06.2023, 02:21 | |
|
Так как я уже ничего не понимаю (даже если до этого понимал), то оставлю просто картинку.
Геометрия, брутфорс, погрешность + кадр анимации (входные данные - 6, 2, 8):
0
|
|
|
Вездепух
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
|
|||
| 14.06.2023, 03:54 | |||
|
1
|
|||
|
6118 / 2813 / 1038
Регистрация: 01.06.2021
Сообщений: 10,252
|
|
| 14.06.2023, 07:54 | |
|
TheCalligrapher, да, был невнимателен. Почему-то прочёл, мол вводится только одна сторона прямоугольника.
Добавлено через 11 минут TheCalligrapher, прямоугольник нужно разместить диагонально, поэтому и угол 45° + 90° × n. Только так получим максимальную площадь покрытия.
0
|
|
|
6118 / 2813 / 1038
Регистрация: 01.06.2021
Сообщений: 10,252
|
||
| 14.06.2023, 09:36 | ||
|
TheCalligrapher, был невнимателен. Почему-то прочёл, мол вводится только одна сторона прямоугольника.
0
|
||
| 14.06.2023, 09:36 | |
|
Помогаю со студенческими работами здесь
20
Определить координаты треугольника с максимальной площадью
Вывести на печать координаты треугольника с максимальной площадью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|