NYOJ 451-光棍节的快乐

    xiaoxiao2022-07-14  121

    题目链接

    利用数学的错排公式

    #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn = 3005; ll f[25]; int main() { int n, m; f[2] = 1, f[3] = 2; for(int i = 4; i <= 20; ++i) { f[i] = (i - 1) * (f[i - 1] + f[i - 2]); } while(~scanf("%d %d", &n, &m)) { ll a = 1, b = 1; for(int i = 1, j = n; i <= m; ++i, --j) { a *= i; b *= j; } printf("%lld\n", b / a * f[m]); } return 0; }
    最新回复(0)