寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C #Volume5-0511 Who Are The Student Yet To Submit

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題「未提出者は誰だ」
 JOI大学のM教授はプログラミングの授業を担当している.
 クラスには30人の受講生がいて各受講生には1番から30番までの出席番号がふられている.
 この授業の課題を28人の学生が提出した.
 提出した28人の出席番号から提出していない2人の出席番号を求めるプログラムを作成せよ.

・入力される値
 入力は28行あり,各行には提出者の出席番号(1以上30以下)が1つずつ書かれている.
 入力される出席番号に重複はないが,どのような順に入力されるかはわからない.

・期待する出力
 出力は2行からなる.
  1行目に2人の未提出者の出席番号のうち小さいほうを, 2行目に大きいほうを出力せよ.

・条件
 1 ≤ 1辺の長さ ≤ 1,000
 N ≤ 1,000

僕が作成、提出したコードは、以下のとおりです。

/*
 Volume5-0511 Who Are The Student Yet To Submit
 http://judge.u-aizu.ac.jp/
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
  int num[31]={};
  for(int i=0;i<28;i++){
    int n;
    scanf("%d",&n);
    num[n]=1;
  }
  for(int i=1;i<31;i++){
    if(num[i]==0){
      printf("%d\n",i);
    }
  }
  return 0;
}

上記問題文と自動審判に使われるデータは、情報オリンピック日本委員会が作成し公開している問題文と採点用テストデータです。

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Volume5-0511 Who Are The Student Yet To Submit