Yuulis.log

Yuulis.log

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

【AtCoder】ABC 355 A - Who Ate the Cake? | 茶コーダーが解くAtCoder

atcoder.jp

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

問題概要

あるケーキが食べられてしまい、犯人の候補として人  1, 2, 3 が挙げられている。犯人の目撃者は二人おり、それぞれ「人  A は犯人でない」、「人  B は犯人でない」という証言をしている。二人の証言から犯人を一人に特定できるかどうか判定し、特定できるならばその人の番号を出力せよ。そうでない場合は-1を出力せよ。

制約

  • 入力はすべて整数。
  •  1 \leq A, B \leq 3

考察

様々な実装方法が考えられるが、ここでは一番愚直な方法を書くことにする。

まず、  A = B の場合は犯人は一意に定まらないので-1を出力する。そうでないときは、  1, 2, 3 の中から  A でも  B でもないものを出力すればよい。

コード

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

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

int main()
{
    int A, B;
    cin >> A >> B;

    if (A == B)
        cout << -1 << endl;
    else if (A == 1 && B == 2)
        cout << 3 << endl;
    else if (A == 1 && B == 3)
        cout << 2 << endl;
    else if (A == 2 && B == 1)
        cout << 3 << endl;
    else if (A == 2 && B == 3)
        cout << 1 << endl;
    else if (A == 3 && B == 1)
        cout << 2 << endl;
    else if (A == 3 && B == 2)
        cout << 1 << endl;
}

atcoder.jp

実装時間: 5分以内