ITパスポート 2016年 春期 問33
問題文
地点Xから出発してA、B、Cの3地点の全てを経由して地点Yまで行きたい。各地点間の経路と所要時間が図及び表のとおりであるとき、地点Xから地点Yまで行く最短の時間は何分か。ここで、3地点A、B、Cはどのような順番で経由してもよいものとする。

選択肢
ア:110
イ:130(正解)
ウ:140
エ:150
🔒 解説は解答すると表示されます
地点XからA・B・Cをすべて経由して地点Yへ行く最短時間【ITパスポート 解説】
問題の要点を短くまとめます。表は「始点(行)→終点(列)」の移動時間(分)を示しています。移動できないところは「不可」と書かれています。地点Yへ直接行けるのはBとCだけです。したがって、Xから出発してA・B・Cの3地点をすべて通り、最後にYに着く最短経路を探します。計算の結果、最短時間は130分で、選択肢イが正解になります。
正解の理由
Yへ直接つながるのはBとCだけなので、最後にYへ向かう直前の地点は必ずBまたはCになります。
X→A→C→B→Y の順で進むと、時間は 分となり、これが最短になります。以上より正答は選択肢イです。
X→A→C→B→Y の順で進むと、時間は 分となり、これが最短になります。以上より正答は選択肢イです。
(注:「X→A = 20」「A→C = 30」「C→B = 20」「B→Y = 60」は表の値をそのまま使っています)
解法ステップ
-
問題を整理する
- 表は「始点→終点」の時間。
- Y に直接行けるのは B と C(A→Y は「不可」)。
- 必ず A・B・C をすべて通る必要がある。
-
最後に訪れる地点は B か C に限定されることに気づく。
- なぜなら Y に直接進めるのは B, C のみだから。
-
B または C を最後にする順列(順番)だけ考える。
- A→B→C(Cが最後)
- A→C→B(Bが最後)
- B→A→C(Cが最後)
- C→A→B(Bが最後)
- (末尾がAになる順序は直接 Y に行けないため、そのままでは不適)
-
各順序の合計時間を計算する(始点は X、終点は Y)。
- X→A→B→C→Y = 20 + 40 + 20 + 60 = 140
- X→A→C→B→Y = 20 + 30 + 20 + 60 = 130 ← 最短
- X→B→A→C→Y = 20 + 40 + 30 + 60 = 150
- X→C→A→B→Y = 40 + 30 + 40 + 60 = 170
-
最小値を選ぶ:130分(選択肢イ)。
選択肢別の誤答解説
-
ア: 110
- 110分は「X→A(20)→C(30)→Y(60)」の合計110に見えますが、この経路はBを通っていません。問題条件(A,B,Cすべてを経由)を満たしていないため誤りです。
-
イ: 130
- 正解。X→A(20)→C(30)→B(20)→Y(60)で合計130分。Yへ行く直前をBにすることで、すべての地点を経由しつつ最短になります。
-
ウ: 140
- 140分は X→A(20)→B(40)→C(20)→Y(60) の経路です。A→B の順にした場合は合計が大きくなり、イの方が短いです。
-
エ: 150
- 150分は X→B(20)→A(40)→C(30)→Y(60) の順序です。AをBの後に回すと余分に移動時間がかかります。
よくある誤解
-
「表はどちらが始点か分かりにくい」
- 表は行が始点、列が終点です。逆に読むと時間を取り違えます。必ず「行→列」の向きで読む習慣をつけてください。
-
「最後にAでもいいのでは?」と考えるミス
- AからYへは「不可」となっているため、Aを最後にしたまま直接Yへ行けません。Aを最後にした場合は別の地点を経由してYへ行く必要があり、余分な移動が増えるため最短にはなりにくいです。
-
「同じ地点を再訪してもよい」ことを見落とす、またはその必要を誤って想定する
- 再訪は許されますが、追加の移動時間が生じます。最短探索では必要な場合のみ検討します。本問では再訪は無駄になるため考慮しなくてよいです。
補足コラム
この問題は小さな「巡回経路(順序決定)」問題で、点が少ないので全ての順序(順列)を試して最短を見つける「総当たり(ブルートフォース)」で十分解けます。点が多くなると順列の数が爆発的に増えるため、コンピュータでは動的計画法(例:Held–Karpアルゴリズム)などを使いますが、ITパスポートレベルでは「順列を列挙して計算する」やり方を確実にできれば十分です。
用語メモ:
- 順列(じゅんれつ)… 順番を並べること。ここではA,B,Cの並べ方を指します。
- ブルートフォース(総当たり)… 可能な組み合わせをすべて試す方法。
FAQ
Q1. 「最後にAで終わる順序は絶対ダメですか?」
A1. 最終的にYへ着くにはA→Yが不可なので、Aが最後のままではYへ到達できません。Aの後にBやCを経由してYに行くことはできますが、その分時間が増え、今回の例では最短になりません。
A1. 最終的にYへ着くにはA→Yが不可なので、Aが最後のままではYへ到達できません。Aの後にBやCを経由してYに行くことはできますが、その分時間が増え、今回の例では最短になりません。
Q2. 「どの順番で計算すればよいですか?」
A2. 最後にYへ直行できる地点(ここではBかC)を「最後」に固定して、残りの地点の順列を全部試すと効率的です。
A2. 最後にYへ直行できる地点(ここではBかC)を「最後」に固定して、残りの地点の順列を全部試すと効率的です。
Q3. 「表の値を間違えたら?」
A3. 表は行が始点・列が終点です。問題文の「始点」「終点」ラベルを必ず確認してください。
A3. 表は行が始点・列が終点です。問題文の「始点」「終点」ラベルを必ず確認してください。
関連キーワード: 最短経路, グラフ, 順列, ブルートフォース, 経路探索, 巡回経路, 表の読み方, 動的計画法

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

