mrugesh 22afc2a0ca feat(learn): python certification projects (#38216)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2020-05-27 13:19:08 +05:30

1.4 KiB
Raw Blame History

id, challengeType, isHidden, title, forumTopicId
id challengeType isHidden title forumTopicId
5900f48d1000cf542c50ffa0 5 false Problem 289: Eulerian Cycles 301940

Description

Let C(x,y) be a circle passing through the points (x,y), (x,y+1), (x+1,y) and (x+1,y+1).

For positive integers m and n, let E(m,n) be a configuration which consists of the m·n circles: { C(x,y): 0x<m, 0y<n, x and y are integers }

An Eulerian cycle on E(m,n) is a closed path that passes through each arc exactly once. Many such paths are possible on E(m,n), but we are only interested in those which are not self-crossing: A non-crossing path just touches itself at lattice points, but it never crosses itself.

The image below shows E(3,3) and an example of an Eulerian non-crossing path.

Let L(m,n) be the number of Eulerian non-crossing paths on E(m,n). For example, L(1,2)=2, L(2,2)=37 and L(3,3)=104290.

Find L(6,10) mod 1010.

Instructions

Tests

tests:
  - text: <code>euler289()</code> should return 6567944538.
    testString: assert.strictEqual(euler289(), 6567944538);

Challenge Seed

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

euler289();

Solution

// solution required