Files
freeCodeCamp/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-252-convex-holes.md

1.8 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4691000cf542c50ff7b Problema 252: Orifícios convexos 5 301900 problem-252-convex-holes

--description--

Dado um conjunto de pontos em um plano, definimos um orifício convexo como um polígono convexo que tenha como vértices qualquer um dos pontos dados e não contenha nenhum dos pontos dados em seu interior (além dos vértices, outros pontos dados podem estar no perímetro do polígono).

Como exemplo, a imagem abaixo apresenta um conjunto de vinte pontos e alguns desses orifícios convexos. O orifício convexo mostrado como um heptágono vermelho tem uma área igual a 1049694,5 unidades quadradas, que é a maior área possível para um orifício convexo no conjunto de pontos fornecido.

conjunto de vinte pontos e orifícios convexos no plano

Para nosso exemplo, usamos os primeiros 20 pontos (T_{2k 1}, T_{2k}), para k = 1, 2, \ldots, 20, produzido com o gerador de números pseudoaleatório:

\begin{align} S_0 & = 290.797 \\\\ S_{n+1} & = {S_n}^2 \\; \text{mod} \\; 50.515.093 \\\\ T_n & = (S_n \\; \text{mod} \\; 2000) 1000 \end{align}

por exemplo: (527, 144), (-488, 732), (-454, 947), …

Qual é a área máxima para um orifício convexo no conjunto que contém os primeiros 500 pontos da sequência pseudoaleatória? Dê sua resposta com 1 algarismo após o ponto (1 casa depois da vírgula).

--hints--

convexHoles() deve retornar 104924.

assert.strictEqual(convexHoles(), 104924);

--seed--

--seed-contents--

function convexHoles() {

  return true;
}

convexHoles();

--solutions--

// solution required