2021-06-15 00:49:18 -07:00
---
id: 5900f5091000cf542c51001b
2021-11-24 07:29:35 -08:00
title: 'Problema 408: Caminhos admissíveis através de uma grade'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 302076
dashedName: problem-408-admissible-paths-through-a-grid
---
# --description--
2021-11-24 07:29:35 -08:00
Vamos chamar um ponto da rede ($x$, $y$) de inadmissível se $x$, $y$ e $x + y$ forem todos quadrados positivos perfeitos.
2021-06-15 00:49:18 -07:00
2021-11-24 07:29:35 -08:00
Por exemplo, (9, 16) é inadmissível, mas (0, 4), (3, 1) e (9, 4) não são.
2021-06-15 00:49:18 -07:00
2021-11-24 07:29:35 -08:00
Considere um caminho do ponto ($x_1$, $y_1$) ao ponto ($x_2$, $y_2$) usando apenas movimentos unitários para o norte e para o leste. Chamaremos esse caminho de admissível se nenhum de seus pontos intermediários for inadmissível.
2021-06-15 00:49:18 -07:00
2021-11-24 07:29:35 -08:00
Considere $P(n)$ como o número de caminhos admissíveis de (0, 0) a ($n$, $n$). Pode-se verificar que $P(5) = 252$, $P(16) = 596.994.440$ e $P(1.000)\bmod 1.000.000.007 = 341.920.854$.
2021-06-15 00:49:18 -07:00
2021-11-24 07:29:35 -08:00
Encontre $P(10.000.000)\bmod 1.000.000.007$.
2021-06-15 00:49:18 -07:00
# --hints--
2021-11-24 07:29:35 -08:00
`admissiblePaths()` deve retornar `299742733` .
2021-06-15 00:49:18 -07:00
```js
2021-11-24 07:29:35 -08:00
assert.strictEqual(admissiblePaths(), 299742733);
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2021-11-24 07:29:35 -08:00
function admissiblePaths() {
2021-06-15 00:49:18 -07:00
return true;
}
2021-11-24 07:29:35 -08:00
admissiblePaths();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```