freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/project-euler/problem-364-comfortable-distance.english.md
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.2 KiB

id, challengeType, isHidden, title, forumTopicId
id challengeType isHidden title forumTopicId
5900f4d91000cf542c50ffea 5 false Problem 364: Comfortable distance 302025

Description

There are N seats in a row. N people come after each other to fill the seats according to the following rules: If there is any seat whose adjacent seat(s) are not occupied take such a seat. If there is no such seat and there is any seat for which only one adjacent seat is occupied take such a seat. Otherwise take one of the remaining available seats.

Let T(N) be the number of possibilities that N seats are occupied by N people with the given rules. The following figure shows T(4)=8.

We can verify that T(10) = 61632 and T(1 000) mod 100 000 007 = 47255094. Find T(1 000 000) mod 100 000 007.

Instructions

Tests

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

Challenge Seed

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

euler364();

Solution

// solution required