freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-287-quadtree-encodi...

56 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5900f48b1000cf542c50ff9e
challengeType: 5
title: 'Problem 287: Quadtree encoding (a simple compression algorithm)'
videoUrl: ''
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> должен вернуть 313135496.
testString: 'assert.strictEqual(euler287(), 313135496, "<code>euler287()</code> should return 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>