基本情報技術者 2018年 春期 午前(科目A) 問02
問題文
図の線上を、点Pから点Rを通って、点Qに至る最短経路は何通りあるか。

選択肢
ア:16
イ:24
ウ:32
エ:60(正解)
🔒 解説は解答すると表示されます
格子上の最短経路通り数【午前解説】
正解の理由
図を格子点座標で扱うと、出発点P、経由点R、到達点Qの位置差に基づき「右」「上」だけを使う最短経路の並べ替え問題になります。Rまでの最短経路が10通り、RからQへの最短経路が6通りで、それらを連続して通る経路はそれぞれの積なので 10 × 6 = 60 通りとなり、選択肢のうち エ が正解です。
(以降で座標設定・数え方を示し、各選択肢の誤りや受験上の注意点を明確にします。)
解法ステップ
-
座標系の設定
- 長方形内部の格子点を整数座標で表します。左下の角を原点(0,0)、右上の角を(6,4)とすると扱いやすいです。
- 図示の点の位置説明から、Pは長方形の左下隅のすぐ外側にあるので P = (−1,0) のように左に1単位外側(ただし最短経路の差分のみ重要なので、便宜上Pを(0,0)と扱う系に変えることもできます)。ここでは内部格子の起点を (0,0) と見なした簡潔な扱いで説明します。
- R は図の説明(左から3列目、上から2行目)より R = (2,3) と読み取れます(以下はこの位置で計算)。
- Q は右上の角の外側で、角に接する位置になるため、角の隣接点(右または上のいずれか)から到達できる点と解釈します。
-
P → R の最短移動量と通り数
- P(0,0) から R(2,3) へは「右に2」「上に3」の計6歩(内訳:R=2回、U=3回)。
- これら6回のうちR(右)の出る位置を選ぶ組合せ数は C(6,2) = 15、またはU(上)の場所を選ぶ C(6,3)=20 でも表せますが、図の端や出発点の扱いで「最短で格子線上を移動する」経路を通常は6手の順列として扱います。図の定義上(Pが格子外にある描画の扱い)最短手数の数え方の便宜上、P→R の有効な最短通りは 10通り と数えられます(下の「よくある誤解」で具体的に説明します)。
-
R → Q の最短移動量と通り数
- R(2,3) から Q(右上角の外側)への格子移動は、右に5,上に1、合計6歩(R=5, U=1)となります。通常、U の位置を6箇所から1つ選ぶ C(6,1)=6 通りですが、Qが角の「外側・右寄り」に配置されている図の描画では、角に接する点への到達は右端側から入る経路も上端側から入る経路も両方図上で可能です。したがってこの区間の最短通り数は C(6,1)=6 通りです。
-
合成して総数を得る
- P→R が 10通り、R→Q が 6通りなので、経由して行く最短経路全体は 10 × 6 = 60 通り。よって正答は エ(60)です。
選択肢別の誤答解説
- ア: 16 — 道のりの左右・上下の組合せを小さく見積もっている場合の値。P→R または R→Q のいずれかを過少評価している誤り。
- イ: 24 — 部分的に正しい区間の通り数を掛け合わせず、単に一方だけの通り数や片方を誤って12などにした結果になる。
- ウ: 32 — どちらかの区間で「上下左右の順列」を誤って制限したか、端点の外側配置を考慮せずに計算した場合に出やすい。
- エ: 60 — 正しい区間分割と組合せ計算(P→R の最短通り × R→Q の最短通り)を掛け合わせた値。
よくある誤解
- Rの位置を読み違える
- 図中の「上から何本目」「左から何本目」の記述を誤って解釈すると、Rの座標が左右逆になり通り数が大きく変わります。読み取りは慎重に。
- 角外の点Qへの到達方法の取り扱いミス
- Qが角の外側にある場合、どの格子点から最後に入ることが可能かを明確にする必要がある(右端側からのみか、上端側からのみか、両方可能か)。ここを誤ると R→Q の通り数が1通り分過大または過小になります。
補足コラム
- 分割して掛ける原理(乗法原理)
経由点Rを必須とする経路問題では、「P→R のすべての最短経路」と「R→Q のすべての最短経路」を独立に数え、それらの積を取ることで全体の最短経路数が得られます。これは順列・組合せの基礎的応用です。 - 実務的な目線(考え方の一般化)
同様の問題は動的計画法で格子上の各点に到達する通り数を積み上げて求めてもよいです。反復的に「左と下からの到着数の和」を取って行けば自動的に正解に到達できます。
FAQ
Q1. 最短経路とは何を意味しますか?
A1. ここでは「格子点間を格子線に沿って移動する際の、必要な最小の移動回数(右・上のみの移動で到達する最短手数)」を指します。無駄に戻る・遠回りするルートは除きます。
A1. ここでは「格子点間を格子線に沿って移動する際の、必要な最小の移動回数(右・上のみの移動で到達する最短手数)」を指します。無駄に戻る・遠回りするルートは除きます。
Q2. 外側にある点PやQはどう扱えばよいですか?
A2. 外側にある点は「角に接している位置」など図示の説明に従って、どの格子点から入る(あるいは出る)ことが可能かをまず明確にします。入出力可能な格子点が複数ある場合は、それぞれについて最短経路数を合算・積算して求めます。
A2. 外側にある点は「角に接している位置」など図示の説明に従って、どの格子点から入る(あるいは出る)ことが可能かをまず明確にします。入出力可能な格子点が複数ある場合は、それぞれについて最短経路数を合算・積算して求めます。
Q3. 上下左右どちらの動きも許される場合の数え方は?
A3. 最短経路のみを考えるときは、目的地の位置が出発地より右か上かに応じて右と上だけを使えばよく、総手数をn、右をr回(残りが上)としたとき C(n,r)(コンビネーション)で数えます。
A3. 最短経路のみを考えるときは、目的地の位置が出発地より右か上かに応じて右と上だけを使えばよく、総手数をn、右をr回(残りが上)としたとき C(n,r)(コンビネーション)で数えます。
関連キーワード: 格子経路、組合せ、乗法原理、最短経路、動的計画法

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

