Yuulis.log

Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 371 A - Jiro | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 34

問題概要

 A, B, C の3人について、年齢関係が3つの文字  S_{AB}, S_{AC}, S_{BC} によって与えられる。ここで、  S_{ij} =<のとき  i j より年下であり、>のとき年上であることを示す。このとき、3人の中で2番目に年上の人は誰か求めよ。

制約

  • 入力に矛盾は含まれない。

考察

入力は高々8通りしか考えられないので、丁寧に場合分けをしていく。このうち、2つの場合については矛盾を含む入力となるので無視することに注意。詳しくはコードを参照。

コード

#include <bits/stdc++.h>
using namespace std;

// ======================================== //

int main()
{
    char S_AB, S_AC, S_BC;
    cin >> S_AB >> S_AC >> S_BC;

    if (S_AB == '<') {
        if (S_AC == '<') {
            if (S_BC == '<') {
                cout << 'B' << endl;
            }
            else {
                cout << 'C' << endl;
            }
        }
        else {
            if (S_BC == '<') {
                return 0;
            }
            else {
                cout << 'A' << endl;
            }
        }
    }
    else {
        if (S_AC == '<') {
            if (S_BC == '<') {
                cout << 'A' << endl;
            }
            else {
                return 0;
            }
        }
        else {
            if (S_BC == '<') {
                cout << 'C' << endl;
            }
            else {
                cout << 'B' << endl;
            }
        }
    }
}

atcoder.jp

実装時間: 5分