Back to Freecodecamp

Problem 364: Comfortable distance

curriculum/challenges/english/blocks/project-euler-problems-301-to-400/5900f4d91000cf542c50ffea.md

latest1.2 KB
Original Source

--description--

There are $N$ seats in a row. $N$ people come after each other to fill the seats according to the following rules:

  1. If there is any seat whose adjacent seat(s) are not occupied take such a seat.
  2. If there is no such seat and there is any seat for which only one adjacent seat is occupied take such a seat.
  3. 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) = 61\,632$ and $T(1\,000)\bmod 100\,000\,007 = 47\,255\,094$.

Find $T(1\,000\,000)\bmod 100\,000\,007$.

--hints--

comfortableDistance() should return 44855254.

js
assert.strictEqual(comfortableDistance(), 44855254);

--seed--

--seed-contents--

js
function comfortableDistance() {

  return true;
}

comfortableDistance();

--solutions--

js
// solution required