KM-70|情報Ⅰ 対策問題
令和8年度追・再試験 第3問 問1 クイズ研究部は毎年、文化祭でクイズ大会を開催している。部長のMさんは、部員から集めた問題を分野が偏らないように、かつ、問題が重複しないように選択して各回用のクイズ集を作りたいと考えた。集められた問題はデータベースに保存され、0から始まる番号が振られている(全193問)。各問題には、情報・国語・歴史・音楽・地理・日常の6分野から一つが設定されている(図1)。なお、図1に続く番号7の問題の分野は「日常」である。 Mさんは、一つのクイズ集に採用する各分野の問題の数が、あらかじめ決めた最大数以内に収まるようにしたいと考え、図の【手順】を用いてクイズ集を作ることにした。最大数は全分野で共通の値とする。 最大数を1として手順を進めたとき、続く番号6(情報)と番号7(日常)の問題はどうなるか。また、最大数を2にしたとき、番号7までの8問のうち採用される問題は何個か。正しい組合せを選べ。

解答・解説を見る
正解: 1
正答
1
問題の整理
「分野ごとの採用数に上限を設けて、番号順に問題を採用していく」手順を、手作業で正確にたどる問題です。プログラムを書く前の「トレース(追跡)」の練習で、後のプログラム問題の土台になります。
分野の並び: 番号0=歴史、1=情報、2=歴史、3=歴史、4=国語、5=歴史、6=情報、7=日常
解き方
最大数1の場合(各分野1問まで)。番号0から順に「その問題の分野の採用数が最大数未満か?」を確かめ、未満なら採用してその分野の数を1増やします。
- 番号0(歴史): 歴史はまだ0問 → 採用(歴史=1問)
- 番号1(情報): 情報はまだ0問 → 採用(情報=1問)
- 番号2(歴史): 歴史はすでに1問=最大数 → 不採用
- 番号3(歴史): 歴史は1問のまま → 不採用
- 番号4(国語): 国語はまだ0問 → 採用(国語=1問)
- 番号5(歴史): 歴史は1問のまま → 不採用
- 番号6(情報): 情報はすでに1問=最大数 → 不採用
- 番号7(日常): 日常はまだ0問 → 採用(日常=1問)
番号6は「情報」がすでに上限に達しているため不採用、番号7は「日常」が初めてなので採用。→ 番号7のみ採用。
最大数2の場合(各分野2問まで)。同じようにたどると、歴史は番号0・2で2問に達するので番号3・5だけが不採用になります。情報(番号1・6)、国語(番号4)、日常(番号7)はどれも上限の2問以内に収まるのですべて採用され、採用は番号0・1・2・4・6・7の6個です。
選択肢の確認
1.○ 上のトレースのとおり。
2.× 番号6の「情報」はすでに1問採用済みで上限。
3.× 番号6は不採用。
4.× 番号7の「日常」はまだ0問なので採用される。
ここだけは覚えよう
トレースは1問ずつ順番に — 「分野ごとの現在の採用数」をメモで更新しながら判定条件と照らす。