天天看點

杭電1465 不容易系列之一(錯排公式簡單的運用)

關鍵點之一:錯排公式的運用!

#include <string.h>
#include <stdio.h>
using namespace std;
long long int data[21];
void init()
{
    int i;
    data[1]=0;
    data[2]=1;
    for(i=3;i<=20;i++)
        data[i]=(i-1)*(data[i-1]+data[i-2]);//錯排公式
    return;
}
int main()
{
    int m;
    init();
    while(scanf("%d",&m)!=EOF)
    {
    cout<<data[m]<<endl;
    }

    return 0;
}