freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-252-convex-holes.ru...

2.5 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4691000cf542c50ff7b 5 Problem 252: Convex Holes Задача 252: выпуклые отверстия

Description

Учитывая множество точек на плоскости, мы определяем выпуклую дыру как выпуклый многоугольник, имеющий в качестве вершин любую из заданных точек и не содержащую ни одной из заданных точек внутри нее (помимо вершин, могут быть указаны другие заданные точки по периметру многоугольника).

В качестве примера на рисунке ниже показан набор из двадцати точек и несколько таких выпуклых отверстий. Выпуклое отверстие, показанное в виде красного семиугольника, имеет площадь, равную 1049694,5 квадратных единиц, что является наивысшей возможной областью для выпуклого отверстия на заданном множестве точек.

В нашем примере мы использовали первые 20 точек (T2k-1, T2k) для k = 1,2, ..., 20, созданных с генератором псевдослучайных чисел:

S0 = 290797 Sn + 1 = Sn2 mod 50515093 Tn = (Sn mod 2000) - 1000

т.е. (527, 144), (-488, 732), (-454, -947), ...

Какова максимальная площадь для выпуклого отверстия на множестве, содержащего первые 500 точек в псевдослучайной последовательности? Укажите свой ответ, включая одну цифру после десятичной точки.

Instructions

Tests

tests:
  - text: <code>euler252()</code> должен вернуть 104924.
    testString: 'assert.strictEqual(euler252(), 104924, "<code>euler252()</code> should return 104924.");'

Challenge Seed

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

euler252();

Solution

// solution required