数学A / 場合の数

対角線から離れない最短経路

最難関編最短経路数え上げの表

問題

座標平面上を、点 から点 まで、 軸方向または 軸方向に1ずつ進む最短経路を考える。途中で通るどの点 でも が成り立つような経路は何通りあるか。

ヒントを見る

引き算(帯の外に出るものを除く)は、はみ出し方が何通りもあって絡まる。使える点だけの世界で、各点まで何通りで来られるかを端から埋めていけないか。数枚埋めたところで、値の増え方に規則が見えないか。

解答・解説

方針

全体から「帯の外に出る経路」を引くのは分類が絡んで難しい。使える点が帯の中に制限されたら、各格子点への経路数を(左)+(下)で左下から順に埋めるのが確実。埋めていくと値が3倍ずつ増える規則が見つかる。

解答

⓪ 発想 — どう考え始めるか。 制約なしなら だが、「一度も帯から出ない」経路を全体からの引き算で出すのは難しい。はみ出しの回数や場所の分類が絡まるからだ。

制約つきの経路数は、使える点だけで「各点への経路数 =(左の点)+(下の点)」の表を左下から埋めるのが確実で速い。

しかも帯の幅は5(差 )しかない。埋めるうちに強い規則が現れる。それを見抜けば まで一気に届く。

公式最短経路の数え上げ: 点 への経路数 。通れない点は とする

① 使える点。 の帯の中の格子点だけ。対角線 と、その上下2本ずつの線上に並ぶ。

xyOy=x+2y=x−2(8, 8)2828
使える格子点は2直線 y=x+2, y=x−2 にはさまれた帯(色部分)の中だけ。各点への経路数を左下から(左)+(下)で埋める

② 表を左下から埋める。 対称性 に注意しながら、対角線とその近くだけ追う:

  • (帯の縁: 片側からしか入れない)、

③ 3倍の規則を見抜き、保たれることを確かめる。 対角線上は 。縁は 。どちらも3倍ずつだ。そこで「( を入れ替えても同じ)」というパターンを仮定して1段進めると

同じパターンが でも成り立つ(帯の縁 は外から入れないので、 の値がそのまま)。よってすべての で成り立ち

まとめ: 制約つき経路は「表の足し込み」が最強の正攻法。さらに帯が狭いおかげで3倍の規則が現れ、 までなら 通りという閉じた式まで手に入る。規則は「1段進めても保たれるか」を確かめて初めて使ってよい。

発展 — 一歩先へ。 この問題は、カタラン数で有名な「対角線を越えない経路」の親戚だ(あちらは壁が片側、こちらは両側)。壁が両側にあると、全体からの引き算は「反射を何度も往復させる」無限の補正になる。表の足し込みが正攻法になるのは、そのためでもある。

通り()

別解

差の折れ線で見る(1次元に潰すルート)。 の2次元を追う代わりに、差 だけを見る。

1歩進むたびに、( 方向)か ( 方向)に動く。条件 は「 の廊下から出ない」こと。求めるものは、 から出発して16歩で に戻る、廊下の中の折れ線の本数だ。

各時刻に「いまどの高さにいるか」の本数を5つ()並べて、1歩ずつ更新する。両隣の合計が次の値になる(廊下の外は0)。16歩ぶん回すと、 の本数はちょうど になる。

この見方の収穫は2つ。2次元の格子が「幅5の廊下を歩く点」という1次元の絵に変わること。そして偶数歩後には が偶数( の3か所)にしかいないから、実質3状態の繰り返しで、3倍の規則(本解③)がこの構造から来ていると分かることだ。

ポイント

  • 帯の中だけで の表を埋める。
  • 対角線上 、縁 のパターンが1段ごとに保たれる。

よくある間違い

  • 全体 から「はみ出す経路」を1回の反射で引こうとする。壁が両側にあると反射が往復し、1回の補正では終わらない。
  • 帯の縁の点に、帯の外からの流入を足してしまう。使えない点の値は0として埋める。
  • 「3倍ずつ」の規則を数項見ただけで使う。1段進めてもパターンが保たれること(③)を確かめて初めて証明になる。