Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-364-comfortable-distance.md
2022-01-23 00:08:20 +09:00

1.5 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4d91000cf542c50ffea 問題 364: 快適な距離 5 302025 problem-364-comfortable-distance

--description--

N 個の席が連続して並んでいます。 ここに N 人が次々とやって来て、次のルールに従って席を埋めていきます。

  1. 隣席がいずれも空いている席があれば、その席を取ります。
  2. 1 のような席がなく、隣席が 1 つのみ埋まっている席があれば、その席を取ります。
  3. 1, 2 以外の場合は、残っている空席のいずれかを取ります。

与えられたルールに従い N 人が N 個の席を取る方法の数を、T(N) とします。 次の図は T(4) = 8 を示しています。

N 人で N 個の席を取る 8 通りの方法

T(10) = 61\\,632, T(1\\,000)\bmod 100\\,007 = 47\\,255\\,094 であることを確認できます。

T(1\\,000\\,000)\bmod 100\\,000\\,007 を求めなさい。

--hints--

comfortableDistance()44855254 を返す必要があります。

assert.strictEqual(comfortableDistance(), 44855254);

--seed--

--seed-contents--

function comfortableDistance() {

  return true;
}

comfortableDistance();

--solutions--

// solution required