freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-287-quadtree-encoding-a-simple-compression-algorithm.russian.md

58 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f48b1000cf542c50ff9e
challengeType: 5
title: 'Problem 287: Quadtree encoding (a simple compression algorithm)'
forumTopicId: 301938
localeTitle: 'Задача 287: кодирование Quadtree (простой алгоритм сжатия)'
---
## Description
<section id='description'>
Квадратное кодирование позволяет нам описывать черно-белое изображение 2N × 2N в виде последовательности бит (0 и 1). Эти последовательности следует читать слева направо так: первый бит относится к полному 2N × 2N области; «0» обозначает раздвоение: текущая область 2n × 2n делится на 4 субрегиона размером 2n-1 × 2n-1, следующие биты содержат описание верхнего левого, верхнего правого, нижнего левого и нижнего правого подпунктов -области - в этом порядке; «10» означает, что текущая область содержит только черные пиксели; «11» указывает, что текущая область содержит только белые пиксели. Учитывайте следующее изображение 4 × 4 (цветные метки обозначают места, где может произойти сплит): <p> Это изображение может быть описано несколькими последовательностями, например: «001010101001011111011010101010», длиной 30 или «0100101111101110» длиной 16, что является минимальной последовательностью для этого изображения. </p><p> Для положительного целого N определите DN как изображение 2N × 2N со следующей схемой окраски: пиксель с координатами x = 0, y = 0 соответствует нижнему левому пикселю, если (x - 2N-1) 2 + (y - 2N-1) 2 ≤ 22N-2, тогда пиксель черный, в противном случае пиксель белый. Какова длина минимальной последовательности, описывающей D24? </p>
</section>
## Instructions
<section id='instructions'>
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler287()</code> should return 313135496.
testString: assert.strictEqual(euler287(), 313135496);
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler287() {
// Good luck!
return true;
}
euler287();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>