Files

2.6 KiB
Raw Permalink Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f53d1000cf542c510050 Завдання 465: Полярні багатокутники 5 302140 problem-465-polar-polygons

--description--

Ядро багатокутника визначається сукупністю точок, з яких видно сторони багатокутника. Ми визначаємо полярний багатокутник як багатокутник, джерело якого міститься суворо всередині ядра.

У такому випадку багатокутник може мати послідовні колінеарні вершини. Однак він не може перетинатися та мати нульову площу.

Наприклад, тільки перший з наведених багатокутників є полярним (ядра другого, третього та четвертого не вміщують джерело повністю, а п'ятий взагалі не має ядра):

п'ять прикладів багатокутників

Зверніть увагу, що перший багатокутник має три послідовні колінеарні вершини.

Нехай P(n) буде кількістю полярних багатокутників, вершини яких (x, y) мають цілі координати, абсолютні значення яких не більші за n.

Зверніть увагу, що багатокутники вважаються різними, якщо вони мають різний набір сторін, навіть якщо вони оточують одну й ту ж саму область. Наприклад, багатокутник з вершинами [(0,0), (0,3), (1,1), (3,0)] відрізняється від багатокутника, що має вершини [(0,0), (0,0), (1,1), (3,0), (3,0), (1,0)].

Наприклад, P(1) = 131, P(2) = 1\\,648\\,531, P(= 1\\,099\\,461\\,296\\,175 та P(343)\bmod 1\\,000\\,007 = 937\\,293\\,740.

Знайдіть P(7^{13})\bmod 1\\,000\\,007.

--hints--

polarPolygons() повинен повертатися як 585965659.

assert.strictEqual(polarPolygons(), 585965659);

--seed--

--seed-contents--

function polarPolygons() {

  return true;
}

polarPolygons();

--solutions--

// solution required