|
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
|
||||||
На какое наименьшее число прямоугольников можно расчертить лист21.06.2019, 15:48. Показов 4021. Ответов 12
Метки нет (Все метки)
Перед Женей лежит белый лист размера N х М клеток. Часть клеток Женя закрасила синим, а оставшуюся часть она хочет расчертить на прямоугольники. Прямоугольник должен содержать только белые клетки, грани прямоугольника проходят по граням клеток. На какое наименьшее число прямоугольников она может расчертить свой лист?
Первая строка содержит N>=1 и М<=12. Следующие N строк содержат no M чисел в каждой: 1 если клетка синяя, 0 если белая Вывести одно число: минимальное число прямоугольников. Мне из условия не совсем понятно, считать ли одну белую клетку за прямоугольник, поэтому я решил что они тоже подойдут. Фактически, надо подсчитать число клеток с 0 и если соседние клетки с 0 имеет общую грань, то их считать за один прямоугольник. Мое решение выглядит как-то так:
0
|
||||||
| 21.06.2019, 15:48 | |
|
Ответы с готовыми решениями:
12
Какое число можно брать как начальное число разбиений в методе средних прямоугольников? Какое наименьшее число Z можно получить вставкой цифры X в четырёхзначное число Y
|
|
|
||||||
| 21.06.2019, 16:24 | ||||||
|
Одну клетку считать, почему нет?
Задача не такая простая, как вам кажется. На сколько прямоугольников ваш алгоритм разобьёт следующую фигуру?
Добавлено через 4 минуты Похоже, решается жадным алгоритмом.
0
|
||||||
|
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
|
||
| 21.06.2019, 16:32 | ||
|
0
|
||
|
Просто Лис
|
|||||||||||
| 21.06.2019, 18:23 | |||||||||||
1
|
|||||||||||
|
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
|
||
| 21.06.2019, 18:33 | ||
|
dondublon, упустил что наименьшее количество
.х. и оставив один большой прямоугольник 3*2 ххх ххх
0
|
||
|
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
|
||||||
| 21.06.2019, 20:28 [ТС] | ||||||
|
а можно тогда реализовать алгоритм следующим образом:
1) проверять все соседние четыре квадрата, если данный квадрат находится не у края
При этом надо как-то соотнести m и n с i и j
0
|
||||||
|
|
|
| 24.06.2019, 11:07 | |
|
catauggie, думаю, проверять соседние 4 смысла нет.
Жадный алгоритм (посмотрите, что это). Идём сверху вниз и слева направо. Это не строго, просто для определённости. Берём верхние точки нашей фигуры, их них - левую. От этой точки идём вправо, пока можем (т.е. пока непрерывный ряд точек не закончится). Получили верхнюю сторону прямоугольника. Теперь идём вниз этой стороной, тоже пока можем. Тут чуток сложнее, т. к. надо просмотреть все точки в ряду, а не одну. Как упёрлись - всё, получили очередной прямоугольник, его "вычитаем" из фигуры. Кстати, делить всё изображение на фигуры необязательно. Ну и всё, повторяем, пока есть нерассмотреные точки. Если есть возможность - используйте numpy, будет меньше кода.
0
|
|
|
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
|
|
| 24.06.2019, 17:08 [ТС] | |
|
dondublon , а как это реализовать в Python? Про жадный алгоритм я слышал, но как применить на практике не знаю.
0
|
|
|
|
|
| 24.06.2019, 17:26 | |
|
Что именно реализовать? Всю программу? Я редко пишу готовые программы.
Алгоритм-то понятен? Могу сделать поясняющий рисунок, если нет. Давайте вы начнёте, будут какие-то конкретные вопросы - спрашивайте.
0
|
|
|
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
|
|
| 24.06.2019, 20:04 [ТС] | |
|
я просто не знаю как написать жадный алгоритм на питоне. если бы какие-нибудь материалы понятные прочесть
0
|
|
|
|
|
| 25.06.2019, 10:11 | |
|
catauggie, жадный алгоритм - это не какой-то конкретный алгоритм, это просто довольно общий способ решения задач, когда на каждой итерации берём по максимуму для нашего решения, без особых раздумий, как в ДП.
0
|
|
| 25.06.2019, 10:11 | |
|
Помогаю со студенческими работами здесь
13
Выяснить за какое наименьшее число телепортаций можно переместиться на другую планету За какое наименьшее число ходов можно собрать количество камней каждого цвета не меньшее необходимого для победы
Какое наибольшее и какое наименьшее число минимальных остовных деревьев может иметь граф
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
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
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|