[Codeforces] Codeforces Round #677 (Div. 3) E. Two Round Dances

2020年12月12日

問題

方針

\( n = 2m \) とします。人の分け方は、

\[ \dfrac{{}_{2m} \mathrm{ C }_{m}}{2}\]

通りあり、\( m \) 人の順列は円順列となるので答えは

\[ \dfrac{{}_{2m} \mathrm{ C }_{m}(m – 1)!^2}{2}\]

となります。

コード

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

ll f(ll n) {
    if (n <= 1) return 1;
    return n * f(n - 1);
}

int main() {
    int n;
    cin >> n;
    cout << f(n) / (2 * f(n/2) * (f(n/2))) * f(n/2 - 1) * f(n/2 - 1)<< "\n";

    return 0;
}

感想

問題の意味が分かりませんでした。