zoukankan      html  css  js  c++  java
  • 不容易系列之一 (错排公式)

    题目链接

    题解:

    错排公式:d[n] = (n-1)(d[n-1] + d[n-2]);

    最近在看组合数学,还没有看到这一部分,只能先搬过来用了。

    #include <stdio.h>
    #include <cstring>
    #include <cmath>
    #include <iostream>
    #include <queue>
    #include <map>
    #include <list>
    #include <utility>
    #include <set>
    #include <algorithm>
    #include <deque>
    #include <iomanip>
    #include <vector>
    #define mem(arr, num) memset(arr, 0, sizeof(arr))
    #define _for(i, a, b) for (int i = a; i <= b; i++)
    #define __for(i, a, b) for (int i = a; i >= b; i--)
    #define IO                       
        ios::sync_with_stdio(false); 
        cin.tie(0);                  
        cout.tie(0);
    using namespace std;
    typedef long long ll;
    typedef vector<int> vi;
    const ll INF = 0x3f3f3f3f;
    const int mod = 1e9 + 7;
    const int N = 20 + 5;
    ll d[N];
    int main()
    {
        d[2] = 1;
        _for(i, 3, N-1)
            d[i] = (i-1) *(d[i-1] + d[i-2]);
        int n;
        while(cin >> n) cout << d[n] << endl;
        return 0;
    }
    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    JAVA日报
    JAVA日报
    JAVA日报
    论文爬取(四)
    论文爬取(三)
    论文爬取(二)
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
    剑指 Offer 57
  • 原文地址:https://www.cnblogs.com/GHzcx/p/8823145.html
Copyright © 2011-2022 走看看