戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2016年 春期 33


問題文

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

選択肢

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 = 20」「A→C = 30」「C→B = 20」「B→Y = 60」は表の値をそのまま使っています)

解法ステップ

  1. 問題を整理する
    • 表は「始点→終点」の時間。
    • Y に直接行けるのは B と C(A→Y は「不可」)。
    • 必ず A・B・C をすべて通る必要がある。
  2. 最後に訪れる地点は B か C に限定されることに気づく。
    • なぜなら Y に直接進めるのは B, C のみだから。
  3. B または C を最後にする順列(順番)だけ考える。
    • A→B→C(Cが最後)
    • A→C→B(Bが最後)
    • B→A→C(Cが最後)
    • C→A→B(Bが最後)
    • (末尾がAになる順序は直接 Y に行けないため、そのままでは不適)
  4. 各順序の合計時間を計算する(始点は 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
  5. 最小値を選ぶ: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の後に回すと余分に移動時間がかかります。

よくある誤解

  1. 「表はどちらが始点か分かりにくい」
    • 表は行が始点、列が終点です。逆に読むと時間を取り違えます。必ず「行→列」の向きで読む習慣をつけてください。
  2. 「最後にAでもいいのでは?」と考えるミス
    • AからYへは「不可」となっているため、Aを最後にしたまま直接Yへ行けません。Aを最後にした場合は別の地点を経由してYへ行く必要があり、余分な移動が増えるため最短にはなりにくいです。
  3. 「同じ地点を再訪してもよい」ことを見落とす、またはその必要を誤って想定する
    • 再訪は許されますが、追加の移動時間が生じます。最短探索では必要な場合のみ検討します。本問では再訪は無駄になるため考慮しなくてよいです。

補足コラム

この問題は小さな「巡回経路(順序決定)」問題で、点が少ないので全ての順序(順列)を試して最短を見つける「総当たり(ブルートフォース)」で十分解けます。点が多くなると順列の数が爆発的に増えるため、コンピュータでは動的計画法(例:Held–Karpアルゴリズム)などを使いますが、ITパスポートレベルでは「順列を列挙して計算する」やり方を確実にできれば十分です。
用語メモ:
  • 順列(じゅんれつ)… 順番を並べること。ここではA,B,Cの並べ方を指します。
  • ブルートフォース(総当たり)… 可能な組み合わせをすべて試す方法。

FAQ

Q1. 「最後にAで終わる順序は絶対ダメですか?」
A1. 最終的にYへ着くにはA→Yが不可なので、Aが最後のままではYへ到達できません。Aの後にBやCを経由してYに行くことはできますが、その分時間が増え、今回の例では最短になりません。
Q2. 「どの順番で計算すればよいですか?」
A2. 最後にYへ直行できる地点(ここではBかC)を「最後」に固定して、残りの地点の順列を全部試すと効率的です。
Q3. 「表の値を間違えたら?」
A3. 表は行が始点・列が終点です。問題文の「始点」「終点」ラベルを必ず確認してください。


関連キーワード: 最短経路, グラフ, 順列, ブルートフォース, 経路探索, 巡回経路, 表の読み方, 動的計画法
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について