KM-46情報Ⅰ 対策問題

共通テスト過去問チャレンジ令和8年度 本試験

令和8年度本試験 第3問 問1 前問の結果(図1・表1)からYさんは、2人目以降の来訪者について、開始時刻が「【 エ 】より遅く到着した場合には【 オ 】、それ以外の場合は【 エ 】」になること、終了時刻が「来訪者本人の開始時刻と体験時間の和」、待ち時間が「来訪者本人の開始時刻と【 オ 】の差」で求められることを確認した。 空欄エ・オに入れる組合せとして最も適当なものを選べ。

KM-46の問題図版
解答・解説を見る

正解: 1

正答

1

問題の整理

待ち行列で「開始時刻がどう決まるか」を、1つの場合分けの文にまとめる問題です。状況は2通りしかありません。

  • 前の人がもう終わっているとき → 待たずに、自分の到着と同時に開始
  • 前の人がまだやっているとき → 前の人が終わるまで待ってから開始

この2つを「【エ】より遅く到着した場合には【オ】、それ以外の場合は【エ】」という形に流し込みます。

解き方

場合分けの境目は「前の人が終わっているかどうか」なので、比べる相手(エ)は直前の来訪者の終了時刻です。

  • 終了時刻より遅く到着した場合: 前の人はもういない → 開始は本人の到着時刻(オ)
  • それ以外(終了前に到着した)場合: 終わるまで待つ → 開始は直前の来訪者の終了時刻(エ)

実例で検算します。4人目は、3人目の終了9分より遅い10分に到着 → 開始は到着時刻の10分 ✓。5人目は、4人目の終了13分より早い11分に到着 → 開始は終了時刻の13分 ✓。どちらも一致します。

この場合分けは、実は「2つの時刻の遅い方を選ぶ」ことと同じです。プログラムでは最大値関数で Kaishi[i] = 最大値(Shuryou[i−1], Touchaku[i]) と1行に書けます。「場合分けの文 ⇔ max関数」の言い換えができると、次のプログラム問題が一気に楽になります。

なお「本人の終了時刻」は開始時刻が決まった後に計算される値なので、条件には使えません(まだ存在しない値で場合分けはできない)。

選択肢の確認

1.○ 「前の終了 vs 自分の到着」の遅い方、という規則そのもの。
2.× 本人の終了時刻はこれから決まる値で、条件に使えない。
3.× エとオが逆で、文の意味が成り立たない。
4.× 直前の人の到着時刻は開始の決定に関係しない。

ここだけは覚えよう

場合分け「遅く着いたら到着時刻、早く着いたら前の終了時刻」= max関数 — 言い換えに気づくとコードが読める。

関連問題

KM-45KM-47