![]() |
Задача 469. Квадрадеревьяпостоянный адрес задачи: http://www.diofant.ru/problem/2202/показать код для вставки на свой сайт >> |
Задачу решили:
3
всего попыток:
12
поделиться задачей:
|
|
Задача опубликована:
30.07.12 08:00
Прислал:
admin
![]()
Источник:
Проект "Эйлер" (http://projecteuler.net)
Вес:
1
сложность:
3
![]()
класс:
11 и старше
![]()
баллы: 100
Темы:
планиметрия
![]() ![]() |
|
Рассмотрим метод кодирования черно-белых изображений при помощи квадрадеревьев для квадратного изображения размером 2N×2N однобитовых пикселей. Сгенерируем кодирующую последовательность из нулей и единиц по следующим правилам:
- Первый бит относится ко всему квадрату 2N ×2N
- "0" означает ветвление дерева, и текущий квадрат 2n×2n разделяется на четыре меньших квадрата размером 2n-1×2n-1. Следующие за нулем биты содержат описание этих четырех квадратов, сначала левого верхнего, затем правого верхнего, левого нижнего и правого нижнего (именно в этой последовательности).
- "10" означает, что данный квадрат содержит только черные пиксели;
- "11" означает, что данный квадрат содержит только белые пиксели.
В качестве примера рассмотрим изображение размером 4×4, где цветными крестиками обозначены точки ветвления.
В принципе, изображение может быть закодировано несколькими различными битовыми последовательностями, например, "001010101001011111011010101010" или "0100101111101110". Первая из этих последовательностей содержит 30 битов, а вторая – только 16, и эта длина является минимальной.
Рассмотрим теперь изображения размером 2N×2N, построенные следующим образом:
- Пиксель с координатами x=0, y=0 соответствует левому нижнему углу изображения,
- Если (x-2N-1)2+(y-2N-1)2 ≤ 22N-2 , то соответствующий пиксель черного цвета,
- Остальные пиксели - белые.
Для изображения данного типа с N=24 найдите кодирующую последовательность минимальной длины. Сколько единиц она содержит?
Если Вы не можете ее решить, значит Вы не можете ее решить :-)

Обсуждение
Правила >>
