寝癖頭の解法

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

Aizu Online Judge in C++ #Volume5-0510 Score

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

・問題「得点」
 JOI高校の2人の生徒 A さんと B さんは,情報,数学,理科,英語の4教科の試験を受けた.
  A さんと B さんのこれら4教科の得点が与えられると, Aさんの合計点 S と Bさんの合計点 T のうち大きな方を出力するプログラムを作成せよ.
 ただし,同点の場合は S (= T) を出力せよ.

・入力される値
 入力は2行からなる.
 1行目は4つの整数が1つの空白を区切りとして書かれており,それぞれ順に, A さんの情報の得点,数学の得点,理科の得点,英語の得点を表している.
 2行目は4つの整数が1つの空白を区切りとして書かれており,それぞれ順に, B さんの情報の得点,数学の得点,理科の得点,英語の得点を表している.
 どの教科の得点も100点満点で,負の得点が与えられることはない.

・期待する出力
 出力は, 求める1つの整数からなる.
 
僕が作成、提出したコードは、以下のとおりです。

/*
 Volume5-0510 Score
 http://judge.u-aizu.ac.jp/
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int sc(int a,int b,int c,int d){
    return a+b+c+d;
}
int main(void){
    int infA,mathA,sciA,engA;
    int infB,mathB,sciB,engB;
    cin>>infA>>mathA>>sciA>>engA;
    cin>>infB>>mathB>>sciB>>engB;
    int S=sc(infA,mathA,sciA,engA);
    int T=sc(infB,mathB,sciB,engB);
    if(S>T){
        cout<<S<<endl;
    }else if(S<T){
        cout<<T<<endl;
    }else if(S==T){
        cout<<S<<endl; /*cout<<T<<endl;*/
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Volume5-0510 Score
問題文と自動審判に使われるデータは、情報オリンピック日本委員会が作成し公開している問題文と採点用テストデータです。