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

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

AtCoder ABC 108 A - Pair (灰色, 100 点)

「場合の数」の問題!

問題概要

1 以上  K 以下の正の整数から、偶数と奇数ひとつずつの組を選ぶ方法の個数を求めてください。

なお、選ぶ順番は考慮しません。

解法

まず、1 以上  K 以下の整数のうち、偶数の個数は K / 2 個である。よって奇数の個数は K - K / 2 個である。

そして、求める場合の数は

  • 偶数から 1 個選ぶ方法:K / 2 通り
  • 奇数から 1 個選ぶ方法:K - K / 2 通り

であるから、これらを掛け算すればよい。

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

int main() {
    int N;
    cin >> N;
    
    int even = N / 2;
    int odd = N - even;
    cout << even * odd << endl;
}