けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 159 A - The Number of Even Pairs (灰色, 100 点)

nC2 系の問題は ABC-D などで頻出だが、その練習ができる問題!

問題概要

  • 偶数の書かれたボールが  N
  • 奇数の書かれたボールが  M

あります。これら  N + M 個のボールから 2 個選んで、書かれた数の和をとります。

この和が偶数になるような選び方は何通りありますか?

解法

まず、2 つの数の和が偶数になる組み合わせ方は、

  • (偶数) + (偶数)
  • (奇数) + (奇数)

の 2 パターンがあります。それぞれ考えましょう。

(偶数) + (偶数)

これは、偶数の書かれた  N 個のボールから、2 個を選ぶ方法の数に等しいです。これは数学 IA の単元「場合の数」で学ぶ組合せと呼ばれるものです。不安な方は、チャート式などで、該当単元を見るとよさそうです。組合せの考え方から、

 \displaystyle {}_{N}\rm{C}_{2} = \frac{N(N-1)}{2} 通り

と求められます。

(奇数) + (奇数)

こちらも同様です。奇数の書かれた  M 個のボールから 2 個を選ぶ方法の数に等しいので、

 \displaystyle {}_{M}\rm{C}_{2} = \frac{M(M-1)}{2} 通り

と求められます。

答え

上記の 2 つの合計したものが答えとなります。

コード

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

int main() {
    int N, M;
    cin >> N >> M;
    
    cout << N * (N - 1) / 2 + M * (M - 1) / 2 << endl;
}