公式

A - Jiro 解説 by nok0


初心者の方へ

この問題には様々な解法が考えられます。

一つ目の解法は、入力のパターンが高々 8 パターン(矛盾がない入力は実際には 6 パターン)しかないので、全てのパターンについて場合分けを行うことです。これは if 文を用いて行えますが、やや面倒です。

より賢い解法として、以下の場合分けが考えられます。

  • \(S_\mathrm{AB}\neq S_\mathrm{AC}\) のとき:A が次男である。
  • 上を満たさず \(S_\mathrm{AB}= S_\mathrm{BC}\) のとき:B が次男である。
  • 上の二つを満たさないとき:C が次男である。

この場合分けのほうが簡明です。

他にも、大小関係 6 パターンを全て試し、入力の条件を満たすかを確認するといった方針も考えられます。

以下の実装例は、簡単な場合分けによるものです。

実装例(C++):

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

int main() {
    char a, b, c;
    cin >> a >> b >> c;
    if(a != b)
        cout << "A" << endl;
    else if(a == c)
        cout << "B" << endl;
    else
        cout << "C" << endl;
}

投稿日時:
最終更新: