|
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
|
||||||
На какое наименьшее число прямоугольников можно расчертить лист21.06.2019, 15:48. Показов 4027. Ответов 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
|
||||||
|
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
|
||
| 21.06.2019, 16:32 | ||
|
0
|
||
|
Просто Лис
|
|||||||||||
| 21.06.2019, 18:23 | |||||||||||
1
|
|||||||||||
|
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
|
||
| 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
Выяснить за какое наименьшее число телепортаций можно переместиться на другую планету За какое наименьшее число ходов можно собрать количество камней каждого цвета не меньшее необходимого для победы
Какое наибольшее и какое наименьшее число минимальных остовных деревьев может иметь граф
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|