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

2.1 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f48b1000cf542c50ff9e 5 Problem 287: Quadtree encoding (a simple compression algorithm) Problema 287: Codificação Quadtree (um algoritmo de compactação simples)

Description

A codificação quadtree permite descrever uma imagem em preto e branco 2N × 2N como uma seqüência de bits (0 e 1). Essas seqüências devem ser lidas da esquerda para a direita da seguinte maneira: o primeiro bit lida com a região 2N × 2N completa; "0" denota uma divisão: a região 2n × 2n atual é dividida em 4 sub-regiões de dimensão 2n-1 × 2n-1, os próximos bits contêm a descrição das partes superior esquerda, superior direita, inferior esquerda e inferior direita -regiões - nessa ordem; "10" indica que a região atual contém apenas pixels pretos; "11" indica que a região atual contém apenas pixels brancos.Considere a seguinte imagem 4 × 4 (marcas coloridas denotam locais onde uma divisão pode ocorrer):

Esta imagem pode ser descrita por várias sequências, por exemplo: "001010101001011111011010101010", de comprimento 30, ou "0100101111101110", de comprimento 16, que é a sequência mínima para esta imagem.

Para um inteiro positivo N, defina DN como a imagem 2N × 2N com o seguinte esquema de cores: o pixel com coordenadas x = 0, y = 0 corresponde ao pixel inferior esquerdo, se (x - 2N-1) 2 + (y - 2N-1) 2 ≤ 22N-2, em seguida, o pixel é preto, caso contrário, o pixel é branco. Qual é o comprimento da seqüência mínima que descreve D24?

Instructions

Tests

tests:
  - text: <code>euler287()</code> deve retornar 313135496.
    testString: 'assert.strictEqual(euler287(), 313135496, "<code>euler287()</code> should return 313135496.");'

Challenge Seed

function euler287() {
  // Good luck!
  return true;
}

euler287();

Solution

// solution required