Консольная программа. Прямоугольное сжатие

300 руб. за проект
29 ноября 2021, 11:12 • 1 отклик • 42 просмотра
Списки управления доступом (Access Control List – ACL) используются для управления маршрутизацией пакетов между множеством источников и приемников. ACL представляет собой прямоугольную матрицу, строки которой соответствуют источникам сигнала, а столбцы – приемникам. Если передача пакета между источником и приемником разрешена, то в соответствующей ячейке ставится «1», в ином случае ставится «0» и попытка передачи пакета между данным источником и приемником будет проигнорирована.

Для минимизации памяти при хранении ACL используются списки прямоугольных правил (Rectangular Rules List –RRL). Каждое правило при помощи четырех координат описывает прямоугольную подматрицу ACL-матрицы, внутри которой содержатся одинаковые значения (например, только единицы или только нули). Таким образом, одно правило охватывает область исходной матрицы и хранит ее при помощи четырех чисел.

Пусть имеется некоторая матрица ACL, описывающая процесс маршрутизации между множеством источников и приемников.



Задача

Ваша задача
– преобразовать исходную ACL матрицу в как можно меньшее количество прямоугольных правил (разбить исходную матрицу на как можно меньшее количество подматриц, состоящих только из нулей или только из единиц).

Файлы
Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Ответственный, быстрый и адекватный исполнитель. Рекомендую к сотрудничеству.
~ 2 месяца назад
R50 e00a77a83b6b92e348046326bb2b4318
Фрилансер
 
~ 2 месяца назад