円順列と隣接条件の処理
──「隣り合う」「隣り合わない」の整理術
A、B、C、D、E の5人が円形に並びます。
ただし、次の条件があります。
- 条件① : AとBは隣り合う
- 条件② : BとCは隣り合わない
並び方は全部で何通りありますか。
【前提】円順列とは何か?
5人を一列に並べると 5!=120通りですが、円形では誰か1人を固定し、残りを並べます。
そのため、条件なし円順列 = (5−1)!= 4!= 24通りが基準となります。
【方針】AとBを「ひとかたまり」として考える
ブロックの中でAとBが入れ替わる(A-B と B-A の2通り)ことを忘れないでください。
円にABブロック・C・D・Eが並ぶイメージ図
【STEP1】AとBをブロック化して円順列を計算する
5人→4つのかたまりになったので、円順列は (4−1)!= 3!= 6通り
【AB】の中の並び方は「A-B」「B-A」の2通り
【STEP2】条件②「BとCが隣り合う」場合を引く(補集合の考え方)
「全体(条件①を満たす)」から「BとCも隣り合ってしまう場合」を引くと、
「AとBが隣り合い、かつBとCが隣り合わない」場合だけが残ります。
AとBが隣り合い、かつBとCが隣り合う → A-B-C または C-B-A の3人がひとかたまり【ABC】または【CBA】として並ぶ場合。
ブロック内の並び方:「A-B-C」か「C-B-A」の2通り(Bが中央に固定される)
【STEP3】最終計算
= 12 − 4 = 8通り
「円形に並ぶ」→ 即座に円順列モード。誰か1人を固定する発想が頭に浮かぶ。
条件は2つ。「隣り合う」と「隣り合わない」が混在している。これが整理すべきポイントだとすぐ気づく。
条件①「AとBは隣り合う」 → 肯定条件。これを先に処理する(ブロック化)。
条件②「BとCは隣り合わない」 → 否定条件。「〜でない」は直接数えにくいので、補集合で処理する方針を立てる。
① まず条件①だけ処理(AとBをブロック化)
② 次に条件②の否定=「BとCも隣り合う」場合を別に数える
③ ①から②を引く
この流れが最もシンプルで、ミスが少ない。
円順列では「ABブロックを固定して残り3つを回す」イメージで図を描く。
円に5つの席を書き、ABブロックをセットで置き、C・D・Eの位置を回していくと直感的に確認できる。
ABブロックを固定した円形配置のイメージ(C,D,Eが動く)
「円順列 × 隣接条件の組み合わせ」という単元認識が大事。
隣り合う条件 → ブロック法、隣り合わない条件 → 補集合法、この2本柱で解く。
どちらか一方しか知らない受験生は途中で止まる。
| 方針 | 有効性 | コメント |
|---|---|---|
| ブロック法(採用) | ◎最適 | 「隣り合う」を最もシンプルに処理できる。計算量が最小。 |
| 全列挙 | ✕ | 24通りを手書きで列挙するのは時間がかかり、ミスの温床。 |
| 余事象(補集合)法(採用) | ◎最適 | 「隣り合わない」は直接数えると場合分けが複雑。引き算の方が圧倒的に楽。 |
| Cの位置で場合分け | △可 | できるが、場合分けの数が増えてミスが起きやすい(別解として後述)。 |
→ 12通りではなく6通りと誤答する。
→ 「全列」と「円列」を混同している。
→ 4通りではなく2通りと計算してしまう。
正しくは「条件①を満たす12通り」から引かなければならない。
ABブロックを固定し、残りの3席にC・D・Eを並べる。
ABブロックの固定により、円の3席を左・正面・右として区別できる。
Cが「ABブロックと隣接しない席(正面の1席)」に座る場合:
C の位置:1通り、残りD・E:2!=2通り、ABブロック内:2通り → 1×2×2 = 4通り
Cが「ABブロックと隣接する2席のうち、Bの隣でない席(Aの隣)」に座る場合:
C の位置:1通り(Aの隣のみ)、残りD・E:2!=2通り、ABブロック内:2通り → 1×2×2 = 4通り
合計:4 + 4 = 8通り
ABブロック固定時のCの配置(隣接席・非隣接席の区別)
本解説のメイン解法(ブロック法+補集合)が最もおすすめです。
理由:計算量が少ない・場合分けが1段階・思考の流れが明快。
別解の「Cの位置で場合分け」は図を描けば確実ですが、「どの席がBの隣か」を
慎重に確認する必要があり、図なしでやるとミスが出やすいです。
速い解法:メイン解法(12−4=8)
ミスしにくい解法:別解(図を描いてCの席を目視確認)
「隣り合う」「隣り合わない」という2種類の条件を別々の道具(ブロック法・補集合法)で使い分けられるかを見ています。どちらか一方しか知らない受験生は確実に詰まります。
最大の差は「引く対象の設定」です。全体の24通りから引くのか、12通りから引くのかで答えが変わります。補集合の「全体」を正確に設定できるかどうかが合否を分けます。
合格者は条件に優先順位をつけて処理順を決め、「条件①処理→条件②処理(補集合)」と頭の中で段取りを組んでから計算を始めます。答案に「条件①満たす→条件②違反引く」という流れが明示されています。
多くは「BとCが隣り合わない場合を直接数えようとして場合分けが爆発する」パターン、または「ブロック内の並び方を忘れて半分の答えを出す」パターンで止まります。
開成の問題は「複数の条件が絡み合う」設計が多く、条件を一気に処理しようとすると詰まります。合格者は「1条件ずつ丁寧に処理し、干渉する部分を後から調整する」という思考順序を持っています。本問はその典型です。
【本質】 この問題の本質は「条件の種類によって処理の道具を使い分ける」という訓練です。 肯定条件(隣り合う)→ブロック法、否定条件(隣り合わない)→補集合法、という対応は、 場合の数全般で使える基本パターンです。
【他問題への応用】
・「特定の人が隣り合わない」問題全般(円・直線どちらでも)
・「特定の2人が両端にならない」直線順列
・「AとBが同じグループに入らない」組み合わせ
・これらすべてで「補集合=全体から違反を引く」思考が使えます。
【今後どう活かすか】 条件問題を見たら、まず「この条件は肯定か否定か?」を分類する習慣をつけましょう。 肯定条件を先にブロック化・固定化し、否定条件は後から補集合で処理する、 この2段階処理がマスターできれば、開成レベルの場合の数はほぼ対応できます。
コメント