Official

A - Five Integers Editorial by leaf1415


カウンタが \(0\) の状態から始め、\(A, B, C, D, E\) の順に見ていき、今までにまだ登場していない整数が登場するたびにカウンタの値を \(1\) 増やすという方法で、種類数を数えます。

つまり、カウンタが \(0\) の状態からはじめ、下記の手順を行います、

  • \(A\) に対応する処理として)カウンタの値を \(1\) 増やす。
  • \(B\)\(A\) と異なるならば、カウンタの値を \(1\) 増やす。
  • \(C\)\(A, B\) のいずれとも異なるならば、カウンタの値を \(1\) 増やす
  • \(D\)\(A, B, C\) のいずれとも異なるならば、カウンタの値を \(1\) 増やす。
  • \(E\)\(A, B, C, D\) のいずれとも異なるならば、カウンタの値を \(1\) 増やす。

最終的なカウンタの値が出力すべき答えとなります。

上記の「〜ならば、」の部分は、プログラミング言語の標準的な機能である条件分岐( if 文など)によって実現できます。

以下に、C++ 言語による本問題の正解例を記載します。

#include <iostream>
using namespace std;

int main(void)
{
  int a, b, c, d, e;
  cin >> a >> b >> c >> d >> e;
  
  int ans = 0;
  ans++;
  if(b != a) ans++;
  if(c != a && c != b) ans++;
  if(d != a && d != b && d != c) ans++;
  if(e != a && e != b && e != c && e != d) ans++;
  
  cout << ans << endl;
  return 0;
}

posted:
last update: