第6回日本情報オリンピック 予選

2006年12月22日
情報オリンピック日本委員会

問題
   未提出者は誰だ

解説

入力は 28 個の重複しない 1 以上 30 以下の整数である. 出席番号ごとに提出したかどうかを記憶するサイズ 30 の配列を1つ用意して(この配列の名前を F とする), 以下のような単純な処理を行ったので十分であろう.

  1. F の要素すべてを, 「未提出」で初期化する.
  2. i を 1 で初期化し,次を28回繰り返す:
    • 入力の i 行目の整数 xiを読み込み, 配列 F の xi に対応する要素を「提出」にする.
    • i を 1 増加させる.
  3. i を 1 で初期化し,次を30回繰り返す:
    • F の i 番目の要素が「未提出」なら i を出力する.
    • i を 1 増加させる.

「提出」と「未提出」を表すのに, 論理型を扱えるプログラミング言語であれば「真」と「偽」に対応する論理型定数を用いてもよいし, 論理型を備えていないプログラミング言語では整数型定数の "1" と "0" を用いてもよい.