No.148

空席の数を とする.

学生が隣りあわないように並べる組み合わせの数は, まず空席を並べ, 次に学生を空席の間に(両端含む)にひとりずつ入れるようにすればいいので,

s.t.

となる. のときは の中に の倍数が含まれるので答えは 0 となる.

とすると, 求める答えは

となり, のときは答えは 0 である. そうでないときは,

となる. 剰余の法は素数なので逆元をが求めることができる.

また, であるが, これをそのまま計算すると間に合わないので, 程度ごとにあらかじめ階乗を計算しておき, ソースにその値を埋め込んでおく.