56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
|
---
|
|||
|
id: 5900f53d1000cf542c510050
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 465: Polar polygons'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: 'Задача 465: Полярные полигоны'
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description"> Ядро многоугольника определяется множеством точек, из которых видима граница всего полигона. Мы определяем полярный многоугольник как многоугольник, для которого начало строго содержится внутри его ядра. <p> Для этой задачи многоугольник может иметь коллинеарные последовательные вершины. Однако многоугольник все еще не может иметь самопересечение и не может иметь нулевую область. </p><p> Например, только первое из следующего является полярным многоугольником (ядра второго, третьего и четвертого не содержат строгого начала, а пятый не имеет ядра вообще): </p><p> Обратите внимание, что первый многоугольник имеет три последовательные коллинеарные вершины. </p><p> Пусть P (n) - число полярных многоугольников, для которых вершины (x, y) имеют целые координаты, абсолютные значения которых не больше n. </p><p> Обратите внимание, что многоугольники должны считаться разными, если они имеют различный набор ребер, даже если они заключают одну и ту же область. Например, многоугольник с вершинами [(0,0), (0,3), (1,1), (3,0)] отличается от многоугольника вершинами [(0,0), (0,3) ), (1,1), (3,0), (1,0)]. </p><p> Например, P (1) = 131, P (2) = 1648531, P (3) = 1099461296175 и P (343) mod 1 000 000 007 = 937293740. </p><p> Найти P (713) mod 1 000 000 007. </p></section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id="instructions">
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler465()</code> должен вернуть 585965659.
|
|||
|
testString: 'assert.strictEqual(euler465(), 585965659, "<code>euler465()</code> should return 585965659.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler465() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler465();
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|