freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-289-eulerian-cycles.md

1.6 KiB

id title challengeType forumTopicId dashedName
5900f48d1000cf542c50ffa0 問題 289: オイラー閉路 5 301940 problem-289-eulerian-cycles

--description--

点 (x, y), (x, y + 1), (x + 1, y), (x + 1, y + 1) を通過する円を C(x,y) とします。

正の整数 m, n に対し、m·n の円 { C(x,y): 0 ≤ x < m, 0 ≤ y < n, xy は整数 } からなる図形を $E (m,n) とします。

E(m,n) 上のオイラー閉路は、各弧をちょうど 1 回ずつ通る閉路です。 E(m,n) 上にはそのような経路が数多くありますが、ここではそれ自体と交差しないもののみに注目します。交差しない経路とは、格子点でそれ自体に触れるだけであり、それ自体と決して交わらない経路です。

下の画像は、E(3,3) と、交差しないオイラー経路の例です。

オイラー閉路 E(3,3) と、交差しないオイラー経路

E(m,n) 上の交差しないオイラー経路の数を L(m,n) とします。 例えば、L(1,2) = 2, L(2,2) = 37, L(3,3) = 104290 です。

L(6,10)\bmod {10}^{10} を求めなさい。

--hints--

eulerianCycles()6567944538 を返す必要があります。

assert.strictEqual(eulerianCycles(), 6567944538);

--seed--

--seed-contents--

function eulerianCycles() {

  return true;
}

eulerianCycles();

--solutions--

// solution required