1.5 KiB
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 のような席がなく、隣席が 1 つのみ埋まっている席があれば、その席を取ります。
- 1, 2 以外の場合は、残っている空席のいずれかを取ります。
与えられたルールに従い N
人が N
個の席を取る方法の数を、T(N)
とします。 次の図は T(4) = 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