平成28年度春期 問5 / 80

平成28年度 春期 応用情報技術者試験 午前 問5

A,B,C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを 1 回ずつ行うことができる場合,データの出力順序は何通りあるか。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

3文字の並びは全部で 3! = 6 通りあります。スタックは後入れ先出し(LIFO)なので,それぞれ実現できるかを確認します。

  • ABC:A入→A出→B入→B出→C入→C出 で可能
  • ACB:A入→A出→B入→C入→C出→B出 で可能
  • BAC:A入→B入→B出→A出→C入→C出 で可能
  • BCA:A入→B入→B出→C入→C出→A出 で可能
  • CBA:A入→B入→C入→C出→B出→A出 で可能
  • CAB:C を最初に出すには A,B を積んだ状態になり,その後は B が A より先に出るため 不可能

したがって出力順序は 5通り です。

  • ア: 3
    誤り。実現できる出力順序は5通りあります。

  • イ: 4
    誤り。実現できる出力順序は5通りあります。

  • ウ: 5
    正しい。6通りのうち CAB だけが実現できないため,5通りです。

  • エ: 6
    誤り。CAB の順序はスタックでは実現できないため,6通りにはなりません。


答え

ウ: 5

出典:平成28年度 春期 応用情報技術者試験 午前 問5

平成28年度春期の他の問題